[IZP] Základy programování
Termíny
St od 16:00 do 17:50 [N103] (tpl 21)
St od 18:00 do 19:50 [N103] (tpl 24)
Čt od 10:00 do 11:50 [N104] (tpl 29)
Links
-
-
Co bych chtěl zopakovat na dalším cviku:
GOOGLE_DOC
Terminal && file transfer for Windows (2in1): MobaXterm
Pro přihlášení z
Windows použíjte např. nástroj
Putty
-
-
-
-
-
-
1. Vývojové nástroje
-
Obsah: přihlášení k počítačům, informační systém, kontrola přihlášení, seznámení s počítačovou sítí, vývojové nástroje
-
jednoduchá práce v terminálu linuxu:
- Prace_v_terminalu.sh
pwd # print working directory - vypíše absolutní cestu, kde jsem
ls # list directory - vypíše obsah aktuální složky
mkdir <novaslozka> # make directory - vytvoření nové složky
cd <novaslozka> # change directory - vlezu do složky
cd .. # vylezu ze složky (zpět nahoru)
nano <main.c> # textový editor Nano (uložení Ctrl+x, y, Enter)
vim <main.c> # textový editor VIM (začátek psaní "i", uložení ESC -> :wq -> Enter)
2. Proměnné a řídící konstrukce
-
Makefile
deklarace a definice proměnné, datový typ int, char, výrazy nad proměnnými, jednoduché podmínky, cyklus
-
3. První užitečnější programy, práce se soubory
-
Zopakování práce s argumenty programu
Práce se soubory (čtení a zápis)
Společné vypracování většího programu …
Kartotéka
Vytvořte program, který načítá osobní údaje pacientů a ukládá je do souborů (jeden pacient ⇒ jeden soubor).
Soubor pojmenuje podle rodného čísla pacienta ve formátu PAC_RR.txt (kde RR představuje rodné číslo pacienta).
Název souboru vytvořte např. pomocí funkce sprintf.
Všechny vstupy stačí načítat po slovech jako “řetězec” a rovnou je zapisovat do souboru, tedy stačí jedna proměnná.
# Příklad vstupů:
$ ./kartoteka
Zadejte rodne cislo: 1234569876
Zadejte jmeno pacienta (ukoncene teckou): Zaphod Beeblebrox .
Zadejte bydliste (ukoncene teckou): Planeta Betelgeuse .
Zaznam ulozen.
Zadejte rodne cislo: 0123459999
Zadejte jmeno pacienta (ukoncene teckou): Fort Prefect .
Zadejte bydliste (ukoncene teckou): Somewhere in the galaxy .
Zaznam ulozen.
Zadejte rodne cislo: .
$
4. Datové typy, funkce, čas
5. Základní znalosti Céčka - bodované cviko [0-2b]
Základní informace k
proj1
jeden bod za teorické znalosti
jeden bod za zpracování jednoduchého algoritmu
Připravte se! Projděte a zaprogramujte si příklady z minulých cvičený!!! (podívat se na kód nestačí, musíte si sami vyřešit problém)
6. Řídicí struktury, datové struktury
7. Alokace paměti, použití struktur - bodované cviko [0-2b]
8. Obhajoba 1.projektu
-
Bude se hodnotit tvoje obhajoba - tvůj krátký slovní výklad jak projekt řešíš a zodpovězení jednoduchých dotazů.
Očekává se, že příjdeš s (téměř) hotovým projektem! (jinak nemáš co obhajovat)
Můžeš přijít se svým notebookem pro rychlejší vysvětlení kódu, i tak chci vidět funkčnost i na merlinovi.
Obhajoba projektu: 0.0 - 2.5 bodů (tvoje vysvětlení)
Funkčnost projektu: 0.0 - 2.5 bodů (testovací scripty)
Ve WISu musíš mít odevzdaný proj1.c (v jakkémkoliv stavu) do 17.11.2019, jinak máš 0 bodů!!
9. Iterační výpočty, vektory, matice
-
Zadán
2.projekt, odevzdání finálního řešení do
01.12.2019, obhajoby příští týden!!
10. Obhajoba 2.projektu
-
Hodnotí se tvoje obhajoba - krátký slovní výklad jak projekt řešíš a zodpovězení jednoduchých dotazů.
Očekává se, že příjdeš s (téměř) hotovým projektem! (jinak nemáš co obhajovat)
Obhajoba projektu: 0.0 - 3.5 bodů (tvoje vysvětlení)
Funkčnost projektu: 0.0 - 3.5 bodů (testovací scripty)
Ve WISu musíš mít odevzdaný proj2.c (v jakkémkoliv stavu) do 01.12.2019, jinak máš 0 bodů!!
!! Ve skupině tpl_21 ve středu od 16-18h mě zastupuje
Ing.Tinka
11. Ukazatel a práce s pamětí - bodované cviko [0-2b]
Je zadán
3.projekt - Průchod bludištěm, odevzdání finálního řešení do
15.12.2019, obhajoby příští týden!!
Obsah cvičení na IZP Wiki
Lab9
Stáhni si kostru z IZP Wiki nebo
zde (Lab9-kostra.zip)
Upravuj pouze soubory *.c
Struktury jsou již definované v *.h souborech
Jak budeš implementovat, postupně odkomentovávej bloky kódu v main.c pro otestování
Neopisujte!
1.bod za správně napsanou a funkční struct.c část, 2.bod za většinově rozpracovaný array.c
12. Obhajoba 3.projektu
-
Hodnotí se tvoje obhajoba - vysvětlení tvého kódu (né přečtení).
Očekávám, že příjdeš s (téměř) hotovým projektem! (jinak nemáš co obhajovat)
13. Práce se seznamem - bodované cviko [0-2b]
-
Obsah cvičení na IZP Wiki
Lab10,
slides Ing.Veigenda
wget https://www.fit.vutbr.cz/~isakin/izp/lab10.zip
unzip lab10.zip
# ... dopis prazdne funkce ...
valgrind ./lab10
-