Programovací jazyk c. C programovací jazyk

praktický kurz

čo to je

Naraz (1991-1992) výber jazyka Si Ako hlavný programovací jazyk na hodinách matematiky sa autor potýkal s problémom nedostatku normálnych učebníc, ktoré by bolo možné odporučiť školákom. To ho prinútilo písať svoje poznámky z prednášok, ktoré by sa dali nazvať „Praktický kurz programovania v Si» — obsahovala informácie, ktoré autor skutočne potreboval v praxi. Dlhoročné pedagogické skúsenosti ukázali, že noty sú naozaj žiadané a sú hojne využívané školákmi aj absolventmi.

Vývojové prostredie je bezplatný, open source Dev-C++ shell, ktorý obsahuje kompilátor GCC.

Autor bude vďačný za spätnú väzbu a konštruktívnu kritiku týkajúcu sa obsahu a dizajnu týchto materiálov.

Ak si všimnete chybu alebo máte návrhy, pripomienky, sťažnosti, žiadosti alebo vyjadrenia, napíšte.

  1. Licenčná zmluva
  2. 1) zverejňovanie materiálov v akejkoľvek forme, vrátane zverejňovania materiálov na iných webových stránkach;
  3. 2) distribúcia nekompletných alebo pozmenených materiálov;
  4. 3) zahrnutie materiálov do zbierok na akomkoľvek médiu;

4) získavanie komerčných výhod z predaja alebo iného použitia materiálov.

Sťahovanie materiálov znamená, že súhlasíte s podmienkami tejto licenčnej zmluvy.

Stiahnuť Abstrakt je voľne distribuovaný vo formáte PDF

  1. . Na zobrazenie je potrebný bezplatný Acrobat Reader. Osnova kurzu je rozdelená do 4 častí: 29.03.2014
    Úvod do programovania v C (860 Kb)
  2. Štúdium základných jazykových konštruktov a techník písania programov. 21.11.2013
    Ukladanie a spracovanie dát (792 KB)
  3. Jazyk C: polia, matice, štruktúry, reťazce znakov, štruktúry, rekurzia. 01.03.2014
    Vývoj programov v jazyku C (937 Kb)
  4. Techniky návrhu programu, štruktúrované programovanie, celočíselné algoritmy, numerické metódy, modelovanie. 11.06.2009
    Dynamické dátové štruktúry v jazyku C (666 KB)

Zoznamy, zásobníky, stromy, grafy.

Prezentácie

Učitelia a študenti môžu mať prospech z prezentácií založených na tomto zhrnutí. Môžete si ich stiahnuť na stránke Prezentácie.

Metodológia Si: cykly, podmienené príkazy, procedúry. Štúdium sekcií týkajúcich sa grafiky a animácie je veľmi úspešné.

8. trieda

Program obsahuje nasledujúce časti (časť súhrnu je uvedená v zátvorkách): Polia (II), Práca so súbormi (II), Reťazce znakov (II), Rotujúce objekty (III), Modelovanie (III). Osobitná pozornosť sa venuje štúdiu algoritmov pre prácu s poliami vrátane vyhľadávania, triedenia atď. Je uvedený pojem efektívnosti výpočtových metód.

9. ročníka

Hlavný dôraz je kladený na štúdium metódy vývoja softvéru v jazyku Si. Študenti absolvujú samostatnú úlohu, počas ktorej sa naučia zostavovať grafy na obrazovke, oboznamujú sa s transformáciami súradnicových systémov, študujú metódy riešenia rovníc, oboznamujú sa s numerickými metódami a naučia sa správne navrhovať programy (oddiely 1-2 časti III). Jedna z úloh je venovaná použitiu Metóda Monte Carlo na výpočet plochy komplexnej postavy. Z nových sekcií aj študujeme Matice (II), polia reťazcov znakov (II). Koncept je predstavený ukazovatele a študujú sa s nimi najjednoduchšie operácie.

10. ročník

Učenie sa jazykov Si dosiahne vážnejšiu úroveň. Hlavné témy - Správa pamäte (II), rekurzia (II), štruktúry (II). Plánuje sa štúdium Pascalu ako druhého programovacieho jazyka. Od tohto momentu sa algoritmy na teoretických hodinách píšu striedavo v dvoch jazykoch.

11. trieda

Nejde ani tak o vlastnosti jazykov, ktoré sa študujú, ako o algoritmy. Hlavné časti - Numerické metódy (III), Modelovanie (III), Dynamické dátové štruktúry (IV).

Pochopte, ako fungujú slučky. Slučky sú jedným z najdôležitejších aspektov programovania, pretože umožňujú opakované spúšťanie jednotlivých blokov kódu, kým nie je splnená určitá podmienka. To uľahčuje písanie opakujúcich sa akcií programovo a ušetrí vám to nutnosť písať nové podmienky zakaždým, keď chcete, aby program niečo urobil.

  • Existujú tri hlavné typy slučiek: FOR, WHILE a DO...WHILE.
  • Použite slučku FOR. Toto je najobľúbenejší a najužitočnejší z cyklov. Pokračuje vo vykonávaní danej funkcie, kým nie sú splnené podmienky nastavené v FOR. Cykly FOR vyžadujú zadanie troch podmienok: premenná, ktorá sa má inicializovať, podmienka, ktorá sa má splniť, a spôsob aktualizácie hodnoty premennej. Ak nepotrebujete všetky tieto tri podmienky, musíte na ich mieste nechať medzeru s bodkočiarkou, v takom prípade bude slučka trvať navždy.

    #include int main () ( int y ; for ( y = 0 ; y< 15 ; y ++ ){ printf ( "%d \n " , y ); } getchar (); }

    • Vo vyššie uvedenom programe je počiatočná hodnota premennej y nula a cyklus pokračuje, kým hodnota premennej nezostane menšia ako 15. Zakaždým, keď sa zobrazí nová hodnota y, zvýši sa o jednotku a cyklus sa opakuje. Akonáhle sa premenná y rovná 15, cyklus sa skončí.
  • Použite slučku WHILE. WHILE slučkyľahšie ako slučky FOR. Nastavia len jednu podmienku a cyklus beží, pokiaľ je táto podmienka splnená. Tu nemusíte inicializovať ani aktualizovať premennú, ale to sa dá urobiť v hlavnej časti kódu samotnej slučky.

    #include int main () ( int y ; zatiaľ čo ( y<= 15 ){ printf ( "%d \n " , y ); y ++ ; } getchar (); }

    • Príkaz y++ pridáva k hodnote premennej y jednotku vždy, keď sa cyklus vykoná. Akonáhle sa premenná y stane 16 (všimnite si, že cyklus musí byť vykonaný, kým sa premenná menšie alebo rovné 15), cyklus sa zastaví.
  • Aplikujte slučku D.O...KÝM. Táto slučka je veľmi užitočná v prípadoch, keď je potrebné vykonať operácie slučky aspoň raz. V cykloch FOR a WHILE sa podmienka kontroluje na úplnom začiatku, to znamená, že ak sa získa falošný výsledok, operácia špecifikovaná podmienkou sa preskočí a nevykoná sa. Cyklus DO...WHILE kontroluje podmienky na samom konci, čo umožňuje vykonať cyklus aspoň raz.

    #include int main () ( int y ; y = 5 ; do ( printf ( " Cyklus beží! \n " ); ) while ( y != 5 ); getchar ( ; )

    • Táto slučka zobrazí zamýšľanú správu, aj keď test stavu zlyhá. Premenná y je nastavená na päť a cyklus sa musí opakovať vždy, keď sa premenná nerovná piatim, takže cyklus sa opustí. Správa sa na obrazovke zobrazí raz, pretože stav sa kontroluje až na samom konci.
    • Klauzula WHILE v slučke DO...WHILE musí končiť bodkočiarkou. Toto je jediná slučka, ktorá vyžaduje bodkočiarku na konci.
  • C je pomerne „starobylý“ programovací jazyk, ktorý vznikol začiatkom 70. rokov. Napriek tomu je C živý jazyk v tom zmysle, že sa dnes aktívne používa. Bol vynájdený, používaný a používa sa na písanie významných častí programového kódu operačných systémov podobných Unixu. Používa sa tiež na písanie pomôcok, kompilátorov a menej často aplikačných programov. Preto sa C nazýva systémový programovací jazyk.

    Jeho životnosť možno vysvetliť tým, že princípy fungovania operačných systémov sú relatívne univerzálne, nepodliehajú pokroku a rôznorodosti, ktorú možno pozorovať v prostredí desktopových a mobilných softvérov a webových aplikácií. C nie je jazyk na vysokej úrovni, má bližšie k počítačovej architektúre. Vďaka tomu sú programy v jazyku C kompaktné a rýchle.

    C nepodporuje objektovo orientované programovanie. Podpora OOP je implementovaná v C++. Hoci ten druhý vzišiel z jazyka C, nie je jeho „pokračovaním“, ale je samostatným jazykom, ktorý sa dá naučiť bez znalosti jazyka C. Naučiť sa však C je užitočné skôr, ako spoznáte jeho „pokročilého brata“, pretože Syntax jazykov je podobná, C nepreťažuje mozog začínajúceho programátora superschopnosťami a učí ho pochopiť podstatu toho, čo sa deje.

    Je C dobré na to, aby ste sa prvýkrát dostali do programovania? Ak neštuduješ na vysokej škole v odbore súvisiacom s IT, tak nie. C vyžaduje pochopenie organizácie a princípov fungovania hardvéru, najmä pamäte. Veľa z toho sa robí pomocou ukazovateľov, ktoré zohrávajú kľúčovú úlohu; táto téma je dosť náročná na pochopenie a v škole sa väčšinou neštuduje.

    Samozrejme, môžete sa naučiť základy programovania v C bez toho, aby ste sa museli učiť ukazovatele. Avšak človek si bude myslieť, že pozná C bez toho, aby o ňom vedel veľa v podstate. Jazyk C bol vytvorený hardvérovo zdatnými profesionálnymi programátormi na napísanie operačného systému UNIX. Nebol určený ako jazyk na výučbu začiatočníkov.

    Prostredia a kompilátory pre programovanie v C

    Ak používate niektorú z distribúcií GNU/Linux, postačí akýkoľvek textový editor so zvýraznením syntaxe, budete potrebovať aj GCC a terminál.

    Existujú editory pre programátorov, ktoré obsahujú rôzne doplnky, vrátane terminálu, prehliadania adresárov atď. Napríklad Geany alebo Atom.

    C je kompilovaný programovací jazyk. V GNU/Linux sa na získanie spustiteľných súborov používa GCC - sada kompilátorov vrátane kompilátora pre C. Na získanie spustiteľného súboru zo zdrojového súboru (takéto súbory majú zvyčajne príponu *.c) je potrebné spustite príkaz v termináli, ktorý vyzerá takto:

    gcc -o ahoj ahoj.c

    Kde gcc je príkaz, ktorý spúšťa program, ktorý vykonáva kompiláciu a iné akcie; -o – prepínač označujúci, že manuálne zadávame názov spustiteľného súboru; ahoj – názov výsledného spustiteľného súboru; hello.c je názov súboru so zdrojovým kódom. Názov spustiteľného súboru možno vynechať:

    gcc ahoj.c

    V tomto prípade bude mať spustiteľný súbor predvolený názov a.out.

    Windows má vlastnú sadu kompilátorov - MinGW. Dá sa používať samostatne, ale je súčasťou jednoduchého vývojového prostredia Dev-C++, ktoré môže byť dobrou voľbou pre učenie sa programovania v C a C++.

    Pri ukladaní zvoľte typ súboru „C source files (*.c)“. Program sa skompiluje a spustí stlačením klávesu F9. Po vykonaní sa program okamžite zatvorí a výsledok nie je viditeľný. Aby ste tomu zabránili, napíšte dva ďalšie riadky: #include a getch(). (Toto nemusí byť relevantné pre novšiu verziu Dev-C++.)

    "Hello World" v GNU/Linux:

    #include \n") ; }

    "Ahoj svet" v systéme Windows:

    #include #include int main() (printf("Ahoj svet \n");

    getch();

    )

    Na druhej strane existuje veľké množstvo multiplatformových vývojových prostredí. Napríklad modul Eclipse + CDT, KDevelop, CLion. Ten je platený, vyrába ho JetBrains, líder vo vývoji IDE, ale má 30-dňovú skúšobnú dobu, čo môže stačiť na školenie. CLion je pohodlnejší ako iné IDE.

    "Ahoj svet" v C

    Na príklade jednoduchého programu si hneď všimneme niektoré vlastnosti programovacieho jazyka C.

    V jazyku C preberá funkcia main() úlohu hlavnej vetvy programu. Táto funkcia musí byť vždy prítomná v kompletnom programe C a spúšťanie programu sa začína ňou. Premenné deklarované v ňom však nie sú globálne, ich rozsah sa vzťahuje len na main(). V programovacom jazyku C je však takmer celý programový kód obsiahnutý vo funkcii a funkcia main() je hlavnou a požadovanou funkciou.

    V C nie sú I/O funkcie súčasťou jazyka. Napríklad v Pythone nepotrebujeme importovať žiadny modul, aby sme mohli používať funkcie print() a input(). V C nemôžeme jednoducho zavolať funkciu printf(), pretože Samotný C ho jednoducho nemá. Túto funkciu, ako aj množstvo ďalších, je možné aktivovať pomocou hlavičkového súboru stdio.h. To je presne dôvod, prečo je riadok napísaný na začiatku programu #include . Include je preložené z angličtiny ako „zapnúť“ a stdio je skratka pre „štandardný vstup-výstup“.

    Hlavičkové súbory (končia na *.h) zvyčajne obsahujú deklarácie určitých funkcií. Deklarácia je jednoducho popis funkcie: aké parametre berie a čo vracia. Samotný kód funkcie (definícia) sa nenachádza v hlavičkovom súbore, ale v knižniciach (iných súboroch), ktoré už môžu byť skompilované a umiestnené v systémových adresároch. Pred kompiláciou programu sa spustí preprocesor jazyka C Okrem iného obsahuje obsah hlavičkových súborov špecifikovaných v súbore programu na začiatku súboru programu.

    Praktická práca

    Zakomentujte prvý riadok kódu HelloWorld. Skúste skompilovať program. Podarilo sa vám získať spustiteľný súbor? Aké varovanie dal kompilátor?

    1 // - jednoriadkový komentár v jazyku C; /* … */ - viacriadkový komentár v jazyku C.

    Základy programovania
    Základy programovania, základné pojmy a pojmy

    Videokurz predstaví študentom základy programovania, základné pojmy a pojmy. Naučí vás vyvíjať algoritmy a poskytne vám skutočné skúsenosti s tvorbou webových produktov. Lekcie obsahujú prehľad aktuálnych programovacích jazykov a oblastí, pomáhajú študentom vybrať si tie, ktoré ich najviac zaujímajú, a poskytujú materiály a pokyny pre ďalší profesionálny rozvoj.

    Lekcia 3. Prvý program

    Výber programovacieho jazyka. Príprava prehliadača. Program "Ahoj, svet!"

    Lekcia 4. Premenné

    Inštalácia pohodlného editora kódu. Úvod do premenných. Jednoduchá kalkulačka.

    Lekcia 5. Dátové typy

    Typy údajov. Operácie s rôznymi typmi údajov. Konverzia typu údajov.

    Lekcia 6. Algoritmy a vývojové diagramy

    Algoritmické myslenie. Vizuálne vývojové diagramy.

    Lekcia 7. Operátor pobočky ak

    Výber možností v programe. Prevádzkovateľ pobočky ak. Hra hádaniek.

    Lekcia 8. Logické operácie

    Zložité podmienky výberu. Logické AND, ALEBO. Hra "Angry Birds".

    Lekcia 9. Robte, while slučky

    Slučky Do a while. Hranie ruskej rulety.

    Lekcia 10. Pre slučku

    Slučka for. Finančná kalkulačka.

    Lekcia 11. Polia

    Veľké súbory údajov a polia. Ruleta.

    Lekcia 12. Funkcie

    Funkcie. Príprava na písanie hry „Black Jack (21)“.

    Lekcia 13. Hra "Black Jack". Časť 1

    Písanie plnej hry. Základom je rozdávanie kariet a počítanie bodov.

    Lekcia 14. Hra "Black Jack". Časť 2

    Dokončenie písania hry. Určenie výsledkov a víťaza.

    Lekcia 15. Programátorská kariéra

    Prehľad hlavných smerov v programovaní. Ako si vybrať programovací jazyk? Čo ďalej študovať?

    Úvod do Git
    Základy Git

    V priebehu 13 videí vás prevedieme základmi systému správy verzií Git. Poďme zistiť, prečo je to dôležité v modernom vývoji a kolaboratívnom programovaní. Poďme sa zoznámiť so základnými pojmami Git: repozitáre, commity, vetvy a značky. Naučme sa základné operácie: vytváranie a klonovanie úložiska, zlučovanie vetiev, vyžiadanie histórie zmien a mnoho ďalšieho. Pozrime sa, ako zadať domácu úlohu pomocou Git. Toto je základný kurz, po ktorom sa môžete začať učiť akýkoľvek programovací jazyk. Okrem toho budete pripravení na pohovor, kde sa zvyčajne niekoľko otázok zameriava na systém správy verzií.

    Lekcia 1. Úvod do systémov správy verzií

    Čo je to systém správy verzií?
    Typy systémov na správu verzií
    Git a jeho výhody
    Dokumentácia

    Lekcia 2. Práca s príkazovým riadkom

    Čo je príkazový riadok?
    Prečo je príkazový riadok dôležitý?
    Ako otvoriť príkazový riadok?
    Užitočné príkazy

    Lekcia 3. Lokálna práca s úložiskom Git

    Úvod do konzolového klienta
    Nastavenie Git
    Inicializácia úložiska
    Klonovanie úložiska
    Grafickí git klienti

    Lekcia 4. Základné operácie

    Indexovanie
    Zmeny publikovania
    Zaväzuje sa
    Zrušiť indexovanie
    Aktuálny stav

    Lekcia 5. História projektu git

    História zmien
    Vrátenie podľa histórie projektu
    Zmena kreditov: git vina
    Ignorovanie súborov .gitignore
    Webová stránka gitignore.io
    Vedenie zložiek.keep

    Lekcia 6. Pobočky

    Vedenie pobočky
    Vytváranie a odstraňovanie pobočiek
    Prepínanie medzi vetvami
    Konfliktné metódy a ich riešenie
    git merge

    Lekcia 7: Vytvorenie vzdialeného úložiska Git

    Hosting Git (GitHub, GitLab, Bitbacket)
    Vytvorenie vlastného úložiska bare-git
    Zaregistrujte sa na GitHub
    Publikovanie zmien do vzdialeného úložiska

    Lekcia 8. Vymazané pobočky

    Názvy úložísk
    Viaceré úložiská v jednom projekte
    .git/config
    Správa pobočiek na vzdialenom úložisku

    Lekcia 9. Verzia

    Metódy verzovania
    Značky a ich vzťah k záväzkom
    Pridanie značky
    Odstránenie značky
    Správa značky na vzdialenom úložisku

    Lekcia 10. Zlučovanie a prevody

    Zlúčime zmeny. git merge
    Posúvame konáre. git rebase
    Pohybujúce sa záväzky. git cherry pick
    Zlúčime záväzok do jedného. git squash
    Háčiky
    Prezývky

    Lekcia 11. Gitflow

    Ako sa používa a prečo?
    Testovacie cykly
    Prípadne modrá/zelená
    Uvoľnite vetvy
    Rýchle opravy

    Lekcia 12. SSH

    protokol SSH
    Prečo sa používa?
    Vytváranie kľúčov
    Preposielanie
    SSH agent
    Kopírovanie súborov cez SSH
    Windows: Git pre Windows
    Používanie SSH s Git

    Lekcia 13. Odovzdávanie domácich úloh cez Git

    Základy databázy. 20 lekcií.
    Návrh databázy a SQL dotazy

    Databázy (DB) sú systémy na ukladanie a spracovanie údajov, ku ktorým sa pristupuje pomocou jazyka SQL (Structured Query Language). Každá moderná webová stránka, hra alebo desktopová aplikácia potrebuje úložisko dát. V súčasnosti existuje veľa rôznych systémov správy databáz (DBMS), z ktorých najpopulárnejší je MySQL. „Základy databázy“ je 20 intenzívnych video lekcií (každá 10 minút), kde prejdeme všetkými fázami návrhu databázy na príklade internetového obchodu s použitím dotazovacieho jazyka SQL. Po tomto kurze budete môcť používať rôzne databázy, ako napríklad MS SQL a Postgre Sql, pretože syntax SQL je pre ne prakticky rovnaká.

    Lekcia 1: Relačné databázy

    Aký je rozdiel medzi databázou a DBMS; aké databázy sa nazývajú relačné; prehľad moderných DBMS.

    Lekcia 2. Inštalácia DBMS

    Inštalácia MySql DBMS a grafickej aplikácie Mysql Workbench.

    Lekcia 3. Návrh databázy, normálne formy

    Návrh údajov v Exceli; normálne formy; primárny kľúč.

    Lekcia 4. Príkaz SQL CREATE

    Vytváranie tabuliek v GUI MySql Workbench; príkaz CREATE; dátové typy; pracovať v konzole.

    Lekcia 5. Príkaz SQL INSERT

    Vypĺňanie tabuliek údajmi pomocou grafického rozhrania; príkaz INSERT; AUTOMATICKÉ ZVÝŠENIE.

    Lekcia 7. SQL príkazy DISTINCT, ORDER BY, LIMIT

    Príjem a filtrovanie údajov pomocou príkazov SQL DISTINCT a LIMIT; triedenie pomocou príkazu ORDER BY.

    Lekcia 9: Konzistencia údajov

    Koncept konzistencie alebo konzistencie údajov.

    Lekcia 10. Cudzí kľúč

    Koncept cudzieho kľúča a obmedzenia hodnôt stĺpcov; ZAHRANIČNÉ KĽÚČOVÉ OBMEDZENIA.

    Lekcia 11. Vytváranie tabuliek so vzťahom many-to-many

    Pridanie košíka do databázy internetového obchodu.

    Lekcia 12. Zložený primárny kľúč

    Použitie zloženého primárneho kľúča pri navrhovaní tabuľky so vzťahom many-to-many.

    Lekcia 13. Spájanie údajov z viacerých tabuliek

    Získavanie údajov z niekoľkých vzájomne súvisiacich tabuliek; nekonzistentnosť prístupu pomocou viacerých SELECTov.

    Lekcia 14. Operátor INNER JOIN

    Spájanie údajov z viacerých tabuliek pomocou operátora INNER JOIN.

    Lekcia 15. Operátori LEFT JOIN, RIGHT JOIN

    Spájanie údajov z viacerých tabuliek pomocou operátorov LEFT JOIN a RIGHT JOIN.

    Lekcia 16. Operátor UNION

    Kombinovanie výsledkov viacerých SQL dotazov pomocou operátora UNION.

    Lekcia 17. Agregačné funkcie

    Agregačné funkcie COUNT, SUM, MIN, MAX.

    Lekcia 18. GROUP BY operátor

    Zoskupte vybranú množinu riadkov pomocou klauzuly GROUP BY.

    Lekcia 19. Indexy

    Filtrovanie v GROUP BY pomocou HAVING; zvýšenie rýchlosti vykonávania dotazov pomocou indexov.

    Lekcia 20. Transakcie

    Koncept transakcie; výpis TRANSAKCIE; ACID požiadavky na transakčný systém.

    Linux. Pracovná stanica. 1 mesiac.
    Precvičte si správu operačného systému Linux na počítači

    GNU/Linux je populárny operačný systém, ktorý vedie na trhu serverového hardvéru a používa sa aj ako vstavaný operačný systém v priemyselných a spotrebiteľských zariadeniach a dokonca aj ako softvér pre stolné počítače. Komponenty GNU sa používajú aj v MAC OS X a GNU/Linux ovplyvňuje aj Windows. Znalosť Linuxu je nevyhnutná pre systémového administrátora, testera, webového programátora, špecialistu na informačnú bezpečnosť a každého vývojára s nárokom na stredný alebo vyšší status. Tento kurz pokrýva základy práce v Linuxe: základy práce v prostredí Linuxu, správu používateľov a oprávnení súborov, regulárne výrazy a písanie skriptov v bash, prácu s procesmi a správu zavádzania a služieb v Linuxe. Pochopenie základov programovania, číselných systémov (binárne, osmičkové, hexadecimálne) a booleovskej logiky

    Lekcia 1. Úvod a inštalácia

    Úvod do GNU/Linuxu. Čo je GNU, Linux a UNIX. Virtualizácia. Inštalácia Ubuntu do virtuálneho počítača. Základné funkcie Linuxu

    Lekcia 2. Práca v grafickom a konzolovom režime

    Konzola a grafický režim v Linuxe; príkazy konzoly; vytváranie a úprava súborov.

    Lekcia 3. Súbory a povolenia v systéme Linux

    Používatelia a práva v systéme Linux; práca so súbormi; vykonávanie operácií v mene superužívateľa.

    Lekcia 4. Regulárne výrazy

    Regulárne výrazy. Hľadať. sed.

    Lekcia 5. Bash programovanie

    Syntax. Tímy. Premenné. Riadiace štruktúry. Niektoré jednoduché skripty. Spúšťanie naplánovaných úloh pomocou cronu

    Lekcia 6. Webové služby

    Sieťové možnosti Linuxu. Webové služby. Nginx, Apache2. Poďme šifrovať. Sieťový filter netfilter a utility iptables.

    Lekcia 7. Úvod do Gitu

    Úvod do Git.

    Lekcia 8. SOA a úvod do Dockera

    Monolitická a SOA aplikačná architektúra. Úvod do Dockera

    Lekcia 1. Úvod

    Úvod do jazyka, stručná história. Prehľad softvéru. Základné pojmy jazyka. Premenné a dátové typy

    Lekcia 2. Podmienky a slučky

    Podmienky. Booleovská algebra a binárne výpočty. Cykly. Vyhlásenie o riadení slučky a prepínači

    Lekcia 3. Funkcie, polia a ukazovatele

    Funkcie. Ukazovatele. Polia. Viacrozmerné polia

    Lekcia 4. Struny, štruktúry a práca s pamäťou

    Čiary. Dátové štruktúry. Systém súborov. Dynamická alokácia pamäte

    Kurz je určený ako pre začiatočníkov, tak aj pre tých, ktorí už ovládajú iné programovacie jazyky alebo jazyk C++, avšak na nedostatočnej úrovni, ako aj pre tých, ktorým chýba jasné pochopenie organizácie ukladania a spracovania dát v kompilovaných počítačových programoch. . C++ je univerzálny jazyk, ktorý kombinuje vlastnosti jazykov na vysokej a nízkej úrovni a umožňuje riešiť najrozsiahlejšie problémy vznikajúce pri programovaní. Kurz pomerne plne zoznamuje študenta so schopnosťami jazyka C++, ktoré sú mu vlastné na dosiahnutie týchto cieľov.

    Lekcia 1. Kompilovaný jazyk. Etapy prekladu a montáže programov

    1. Prečo potrebujete C++?
    2. Vývojové nástroje v C++.
    3. Ako funguje kompilovaný jazyk.
    4. Etapy vysielania programu.
    5. Ako funguje zostavovací skript.
    6. Analýza domácich úloh.

    Lekcia 2. Mená v programe. Dáta, typy, funkcie a premenné

    1. Názvy, typy a premenné.
    2. Premenná a číselná reprezentácia.
    3. Vypočítateľnosť.
    4. Funkcia. Pojem a význam.
    5. Funkcie a ich argumenty.
    6. Jednoduché polia.
    7. Analýza domácich úloh.

    Lekcia 3. Zostrojenie algoritmu v C++

    1. Bloky. Koncept algoritmu Namespace.
    2. Podmienené operácie.
    3. Neustály viacnásobný výber.
    4. Cyklická podmienená prevádzka.
    5. Iteračný manažment (opakovateľnosť cyklu).
    6. Počítací cyklus.
    7. Výnimočné situácie.
    8. Analýza domácich úloh.

    Lekcia 4. Procedurálne programovanie

    1. Zostavenie kostry projektu pre Qt Creator.
    2. Získame prístup k dátovému súboru.
    3. Format hack: dešifrovanie spôsobu ukladania údajov.
    4. Dekódovanie formátu PNM/PGM.
    5. Bočné transformácie údajov: čítanie rozmerov obrazu.
    6. Konštrukcia výstupného histogramu a dátového výstupu.
    7. Analýza návrhu programu napísaného procedurálnym štýlom.

    Kurz pre začínajúcich vývojárov oboznámených so základmi jazyka C alebo C++. Pomôže vám pochopiť základné dátové štruktúry a základné algoritmy. Poskytuje všeobecné pochopenie procesov v rámci programu a základné zručnosti pri budovaní práce algoritmov. Kurz nie je viazaný na konkrétny programovací jazyk a napriek tomu, že je všetko vysvetlené na príklade C, poznatky možno aplikovať v akomkoľvek imperatívnom programovacom jazyku.

    Lekcia 1. Úvod a zoznámenie

    Lekcia 2. Zložitosť algoritmov a jednoduché algoritmy

    Lekcia 4. Polia

    Lekcia 5. Komplexné triedenie polí

    Lekcia 6. Zásobníky, fronty a zoznamy

    Lekcia 7. Dynamické dátové štruktúry

    Lekcia 8. Stromy

    Lekcia 9. Grafy

    Lekcia 10. Hash tabuľky

    Lekcia 11. Úvod do kryptografie

    Objektovo orientované programovanie. 1 mesiac.
    Ponorte sa do OOP

    Kurz zoznamuje študentov s najlepšími programovacími technikami v C++. Preberú sa základné princípy efektívneho využitia objektovo orientovaného programovania na písanie programov, ako aj typické aspekty fungovania stream I/O knižnice. Počas školenia žiaci napíšu plnohodnotnú hru s využitím nadobudnutých vedomostí. Kurz je určený pre začínajúcich programátorov v C++, ktorí ukončili 1. úroveň – procedurálne programovanie.

    Lekcia 1. Vymenované stavy

    Exportovať názvy. Preťaženie názvu funkcie (globálne).
    Ukladanie funkcií v stave. Stav dostupnosti menného priestoru. Kľúčové slová verejné a súkromné. Zavádzame pojem objekt. Zavádzame pojem trieda. Počiatočný uložený stav.

    Lekcia 2. Dedičstvo

    Riadenie prístupu k základnej triede. Konštruktéri a dedičnosť. Vytvorenie viacúrovňovej hierarchie tried. Ukazovatele na odvodené triedy. Jednoduché a viacnásobné dedičstvo.

    Lekcia 3. Virtuálne funkcie a polymorfizmus

    Základy virtuálnych funkcií. Čisté virtuálne funkcie a abstraktné triedy. Skorá a neskorá väzba. Preťažovanie funkcií a metód. Parametrický polymorfizmus

    Lekcia 4. Vzťahy medzi objektmi v C++

    Zloženie, agregácia, asociácia, závislosť. Kontajnerové triedy. Operátory konverzie typu. Príklady programov v C++

    Lekcia 5: Funkcie a metódy zdieľania

    Preťaženie operátora. Šablóny funkcií a tried. Explicitná a čiastočná špecializácia šablón. Príklady jednoduchých programov

    Lekcia 6. I/O vlákna

    Hierarchia tried prúdov. I/O operácie pre štandardné typy. Organizovanie I/O pre vlastné typy. Práca so súbormi a vyrovnávacími pamäťami v pamäti. Nástroje na formátovanie výstupov, manipulátory

    Lekcia 7. Podpora modularity. Písanie hry Blackjack

    Kompilačné jednotky. Rozdelenie na hlavičkové a implementačné súbory. Direktívy preprocesora, makrá a podmienená kompilácia. Písanie hry Blackjack

    Lekcia 8. Mechanizmus výnimiek

    Vzbudenie a spracovanie situácie. Skladanie stohu, prevedenie konštruktérov a deštruktorov. Podpora hierarchie tried.
    Štandardné triedy výnimiek. Príklady programov využívajúcich výnimočné situácie

    Kurz pre tých, ktorí sa pokračujú v programovaní v C++, je venovaný správe pamäte a práci s dátami na nízkej úrovni. Poskytuje predstavu o princípoch správy pamäte v programe C++, organizácii ukladania údajov a adresovaní funkcií. Samostatná časť kurzu hovorí o systéme typu C++ a transformáciách medzi reprezentáciami údajov. Okrem toho sú stručne znázornené možnosti predspracovania C++ s možnosťou generovania zdrojového textu počas prekladu.

    Lekcia 1: Základy správy pamäte

    Lekcia 2. Správa písania. Typový systém

    Lekcia 3. Predspracovanie. Podmienená kompilácia

    Vývoj programov s grafickým rozhraním v C++. 1 mesiac.
    Qt Framework

    Lekcia 1. Qt Creator: Základy

    čo je Qt? Stručný prehľad funkcií (help, qtdemo, lingvist, uic atď.). Inštalácia knižnice QT a vývojového prostredia. Nastavenie Qt Creatora pre prácu (výber kompilátora, debuggeru, adresára atď.). Vytvorenie a spustenie prvej aplikácie (Ahoj svet!). Widgety. Rôzne typy textových výstupných polí. Tlačidlá a indikátory.
    Spracovanie signálov z widgetov.

    Lekcia 2. Modularita v Qt

    Core Qt moduly. Hierarchia tried. Princíp modularity. Oddelenie motora a rozhrania. Pojem „model – reprezentácia“. Zoznam, strom, tabuľka a spôsoby ich zobrazenia. Chráňte výstupné polia. Dokumentácia o moduloch a triedach Qt. Systémy QMake a auto-build pre projekty. Systém na kompiláciu a pripojenie súboru modules.pro

    Lekcia 3. Práca s údajmi v Qt.

    Kontajnerové triedy. Iterátory. Sekvenčné kontajnery. Asociačné kontajnery. Práca so strunami. Čítanie, zobrazovanie a ukladanie obrázkov. Práca so súbormi a adresármi. I/O streamy. Základné metódy otvárania súboru QFile, QFileDialog. Programové prostriedky.

    Lekcia 4. Interakcia objektov v Qt

    Objektový model Qt. Správa pamäte. Hierarchia objektov. Signály a sloty. Spájanie a odpájanie predmetov. MOC je kompilátor meta-objektov. Princíp slučky udalostí. Spracovanie udalostí. Udalosti myši a klávesnice. Filtre udalostí. Podporuje rôzne jazyky. Lokalizácia programu. Dynamická zmena jazyka (QLinguist). Prístup k príkazovému riadku z programu

    Lekcia 5. Vývoj GUI v Qt

    Trieda QWidget. Typy widgetov. Hierarchia widgetov. Pripojenie OpenGl a iných výstupných knižníc tretích strán. Vývoj formulárov v Qt Designer. Používanie formulárov v projektoch. Rozloženie miniaplikácií. Zásady zmeny veľkosti. Pripojenie signálov k slotom. Zameranie vstupu. Štýlové listy. Paleta farieb. Vytvorte si vlastné widgety.

    Lekcia 6. Vývoj rozhrania okna v Qt

    Rozhranie s jedným a viacerými dokumentmi. Detské a rodičovské obrazovky. Podtriedy (QDialog atď.) Hlavné okno. Panely s nástrojmi. Stavový riadok. Vytváranie jedálneho lístka. Rozbaľovacia ponuka. Kontextové menu. Dialógové okná. Otváranie, ukladanie a tlač dokumentov.

    Lekcia 7. Práca s grafikou a textom v Qt

    Kontext kreslenia QPainter. Súradnicové systémy. Bod, čiara, obdĺžnik, mnohouholník. Perie, kefy. Farebné modely. Prechody. Graphics View Framework. Javisko a predstavenie. Text s prvkami formátovania. Písma. Práca s html značkami. Výstup a uloženie. WebEngine. Implementácia jednoduchého webového prehliadača.

    Lekcia 8. Časovače, procesy a vlákna v Qt

    Dátum a čas. Udalosti časovača. procesy. Štartovanie, beh a zastavenie. Prúdy. Multithreading. Výmena signálov a udalostí. Synchronizácia. Mutexy

    Lekcia 9. Technológia Qt Quick

    jazyk QML. Prvky používateľského rozhrania. Ovládanie umiestnenia prvkov. Grafické prvky. Práca s obrázkami a fontmi. Práca s myšou, klávesnicou a touchpadom. Implementácia animácie. Použitie QML v projekte

    Lekcia 10. Ďalšie vývojové nástroje a nástroje na zostavovanie Qt

    Testovanie programu. Typy chýb. QDebug. Krok za krokom ladenie. Kontrolné body. Variabilné okná a volacie reťazce. Jednotkové testovanie. GUI testovanie. Typy zostavení projektu (ladenie, výstup, profilovanie). Qt Creator a systémy na správu verzií. Git. Hľadanie súvisiacich knižníc. Ako poslať zákazníkovi aplikáciu (bez zdrojových kódov), aby mu určite bežala

    Lekcia 11. Práca s databázami v Qt

    Stručné informácie o SQLite DBMS. Základné operácie pri práci s databázou. Qt nástroje pre prácu s SQLite. Implementácia práce s databázou prostredníctvom konceptu „model – reprezentácia“. Budovanie a pripojenie ďalších databázových knižníc (Postgresql/mysql/ets)

    Lekcia 12. Práca so sieťovaním v Qt

    Sieťové protokoly vysokej a nízkej úrovne. Pripojenie cez zásuvky. Model klient-server. Kontrola prístupu k sieti. Pripojenie k databázam na serveri

    Počas stáže si vyviniete OpenSource textový editor ako Emacs v C++ s pluginmi. Získate zručnosti tímovej práce, prácu s git a tasktracker a tiež sa zoznámite s agilnými metodikami vývoja, SCRUM, KANBAN.

    Lekcia 2. Úvod do flexibilných metodík. Sledovače úloh

    Metodológie Scrum a Kanban. Ako prevziať úlohy. Výhody iniciatívy a zodpovednosti. Sledovače úloh v štýle Kanban. Stanovenie SMART cieľov. Technické špecifikácie. Používateľské príbehy. Scenáre použitia.

    Lekcia 3. Agilný rozvoj. Scrum a Kanban

    Hodnoty agilnej metodológie. Scrum (podrobnosti). Kanban. Chyby pri implementácii. Kult nákladu. Mikromanažment. Prečo je potrebná transparentnosť a ako ju dosiahnuť. Scrum chat.

    Lekcia 4. Riziká a termíny

    Riziká plánovania a riadenia. Lehoty a ich hodnota. Time management.

    Lekcia 5. Motivácia

    Maslowova pyramída. Tri úrovne motivácie. Ako sa motivovať? Motivácia podľa Lebedeva. Podobenstvo o psovi. Disciplína.

    Lekcia 6. Problémy a riešenia

    Chyby v plánovaní a zhromažďovaní požiadaviek. Chyby manažmentu: mikromanažment, napodobňovanie. Dôsledky: fluktuácia, nadčasy, nočná práca. Pokusy o zavedenie nových požiadaviek a zmien. Chýbajúce termíny. Beznádejné projekty. Zodpovednosť. Záchrana projektu. Kedy by ste mali prestať? Pivot.

    Lekcia 7. Mentoring

    Vedenie tímu. Prečo je mentoring dôležitý. Ako často musí byť programátor mentorom? Vodcovské schopnosti. Delegovanie. SMART ciele. Schopnosť učiť sa.

    Lekcia 8. Kvalita produktu

    Surový produkt. Kvalitný výrobok. Rýchlo fungujúci prototyp. Vysoko kvalitný kód. Zostatok. Odmietnutie niektorých funkcií. Funkčné testovanie. Čierna a biela krabica. Jedzte jedlo svojho vlastného psa.

    Lekcia 9. Písanie životopisu

    Mäkké zručnosti. Ťažké zručnosti. Pracuje sa na životopise.

    Lekcia 10. Príprava na pohovor

    Rozhovor s HR manažérom a budúcim manažérom.

    Lekcia 11. Kariéra v IT spoločnosti. Perspektívy

    O ktoré spoločnosti sa oplatí uchádzať? Rozvoj špecialistu. Junior, Middle, Senior, Team Leader, CTO. Manažment.

    Lekcia 12. Zhrnutie

    Prehľad toho, čo sa dosiahlo. Slová na rozlúčku.

    Ako sa stať programátorom. 13 lekcií.
    Pokyny krok za krokom pri hľadaní práce

    Kariéra v programovaní je vzrušujúcou cestou do sveta moderných technológií. Každý vývojár má svoj vlastný príbeh a skúsenosti. Existuje však základný algoritmus, ktorý vám pomôže urobiť prvé kroky správne a viesť k vášmu cieľu. Pripravili sme 13 video lekcií, v ktorých sme odpovedali na najpálčivejšie otázky o programátorskej kariére vo firmách a na freelance trhu. Často premýšľate o zamestnaní a máte pocit, že ste pripravení začať zarábať peniaze? Potom je tento video kurz práve pre vás.

    Lekcia 1. Profesia “Programátor”

    Vlastnosti profesie; často kladené otázky; dopyt na trhu práce.

    Lekcia 2. Kariérové ​​poradenstvo

    Stane sa zo mňa úspešný programátor? Faktory úspechu.

    Lekcia 3. Začnime písať životopis

    Najdôležitejší je prvý dojem; ako nazvať pozíciu.

    Lekcia 4. Výber programovacieho jazyka: vývoj webu

    Prehľad jazykov pre vývoj webových stránok: HTML, CSS, JavaScript, PHP, Python, Ruby, C#, Java; správna voľba.

    Lekcia 5. Vývoj mobilných zariadení. Univerzálne programovacie jazyky

    Prehľad jazykov: Java, Objective-C, Swift; C#, C++, Python: správna voľba.

    Lekcia 6. Pravidlá efektívneho životopisu

    Zoznam technológií; portfólio; diplomy a osvedčenia; osobné vlastnosti. Pohľad technického špecialistu a HR.

    Lekcia 7. Hľadanie práce: čo, kde, kedy

    Práca snov, psychologické aspekty; technika požiadavky.

    Lekcia 8. Pohovor a skúšobná doba

    Rozhovory pre programátorov: ako sa správať, čo povedať, čo počúvať; skúšobná doba a pravidlá jej absolvovania.

    Lekcia 9. Práca na voľnej nohe: prvé kroky

    Prehľad platforiem na voľnej nohe; registračné funkcie; registrácia účtu; ako vyniknúť medzi väčšinou interpretov.

    Lekcia 10. Práca na voľnej nohe: Začíname a hľadáme objednávky

    Stratégia vyhľadávania objednávok; priorita objednávok: čo si vziať na seba; rokovania; úlohy a úskalia technických špecifikácií; spôsoby kontaktovania klienta; písanie odpovedí a upútanie pozornosti klientov; správne otázky.

    Lekcia 11. Na voľnej nohe: plnenie objednávky a platba

    Spôsoby platby: bankový prevod alebo hotovosť; platba vopred alebo dodatočná platba; prehľad situácií, v ktorých bude každá metóda fungovať lepšie; príprava na prácu a záväzné dohody s klientom; vlastnosti pracovného procesu; záverečné fázy spolupráce; zdieľanie spätnej väzby; "konzultačná" technika.

    Lekcia 12. Špeciality v oblasti IT

    Ako funguje vývoj vo veľkých firmách? Kto sú analytici, dizajnéri, testeri, architekti, projektoví manažéri, vedúci tímu atď.

    Lekcia 13. Kariérny rebríček v IT

    Ako vyzerá kariérny rebríček v IT? V ktorých špecialitách je ľahšie začať svoju cestu? Aké sú vyhliadky na rozvoj?

    Kurz vyvinutý v spolupráci so školou EnglishDom vám pomôže zvládnuť kľúčové témy v anglickom jazyku, ktoré sú relevantné pre začínajúcich IT špecialistov. Maximálne precvičenie a zameranie sa na IT slovnú zásobu. 10 lekcií zahŕňa prípravu životopisov, technických špecifikácií a obchodných listov, pohovory a rokovania, medzinárodnú komunikáciu pri propagácii vášho projektu. V živých dialógoch v angličtine si študenti upevnia frázy, ktoré budú užitočné pri ich práci pre vývojárov a testerov, marketérov a dizajnérov.

    Lekcia 10. Spustite

    Porozprávame sa o našom projekte a predstavíme tím v angličtine.

    Naučiť sa základy a zložitosti programovacieho jazyka C++. Učebnica s praktickými úlohami a testami. Chcete sa naučiť programovať? Potom ste na správnom mieste – tu je bezplatné školenie programovania. Či už máte skúsenosti alebo nie, tieto lekcie programovania vám pomôžu začať vytvárať, kompilovať a ladiť programy C++ v rôznych vývojových prostrediach: Visual Studio, Code::Blocks, Xcode alebo Eclipse.

    Veľa príkladov a podrobných vysvetlení. Ideálne pre začiatočníkov (figuríny) aj pokročilejších. Všetko je vysvetlené od základov až po detaily. Tieto lekcie (200+) vám poskytnú dobrý základ/základy na pochopenie programovania nielen v C++, ale aj v iných programovacích jazykoch. A je to úplne zadarmo!

    Zahrnuté je aj postupné vytváranie hry v C++, grafická knižnica SFML a viac ako 50 úloh na otestovanie vašich schopností a vedomostí v C++. Ďalším bonusom je.

    Za opätovné odoslanie +20 ku karme a moju vďačnosť!

    Kapitola č.0. Úvod. Začíname

    Kapitola č.1. Základy C++

    Kapitola č.2. Premenné a základné dátové typy v C++

    Kapitola č.3. Operátori v C++

    Kapitola č.4. Rozsah a iné typy premenných v C++

    Kapitola č.5. Poradie, v ktorom sa kód vykonáva v programe. Slučky a vetvy v C++



    Načítava sa...
    Hore