Detail předmětu
Počítače a programování 2
FEKT-BPC-PC2MAk. rok: 2018/2019
Předmět je zaměřen na získání základních znalostí programovacího jazyka ANSI/ISO C . Studenti se učí algoritmizaci zadané úlohy, použití správných datových typů a návrhu vhodných datových struktur, realizaci algoritmu v jazyce ANSI/ISO C. Jsou prezentovány vybrané algoritmy pro zpracování numerických a textových dat. Studenti budou seznámeni se standardními knihovnami a vybranými funkcemi z nich, prací s ukazateli, soubory, dynamickou alokací paměti a tvorbou vlastních knihoven funkcí.
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Výsledky učení předmětu
- vysvětlit funkci příkazů jazyka C,
- popsat vlastnosti základních datových typů,
- navrhnout strukturu pro reprezentaci složitější dat,
- použít funkce obsažené ve standardních knihovnách,
- sestavit algoritmus pracující s jednorozměrnými a vícerozměrnými poli,
- pracovat se soubory
- sestavit algoritmus pro seřazení seznamu hodnot, pro převod číselných soustav, pro maticové a vektorové operace, pro zpracování vstupních dat neznámého rozsahu atd.
- vytvořit knihovnu funkcí
Prerekvizity
Plánované vzdělávací činnosti a výukové metody
Způsob a kritéria hodnocení
Osnovy výuky
2. Výrazy, aritmetické konverze a operátory. Priorita operátorů. Přiřazovací příkaz, L-hodnota, R-hodnota. Konstanty.
3. Příkazy větvení, if, else, příkazy switch a case. Realizace cyklů v jazyce C.
4. Řetězce, jednorozměrné pole naplněné řetězcem zakončeným znakem NULL. Řetězcové literály, ASCII tabulka a znakové sady. Funkce pro práci s řetězci.
5. Datový typ ukazatel. Ukazatel a pole, ukazatelová aritmetika. Pole ukazatelů.
6. Funkce. Rekurzivní funkce. Práce s pamětí – rozsah platnosti proměnných.
7. Pokročilé datové typy – Struktury, unie, výčtový typ. Ladění programu.
8. Dynamická alokace paměti, příklad jednoduché databáze.
9. Hlavičkové soubory, knihovny. Příkazy preprocesoru.
10. Práce se soubory, zápis do souboru a čtení.
11. Vazby dynamických proměnných, lineární seznamy a stromy.
12. Modifikátory proměnných const, volatile. Nové normy jazyka.
Učební cíle
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky
Základní literatura
PROKOP, J. Algoritmy v jazyku C a C++. Praha: Grada Publishing, 2008 (CS)
RAIDA, Z., FIALA, P. Počítače a programování 2. Edice "Elektronická skripta". Brno: FEKT VUT v Brně, 2002. (CS)
Zařazení předmětu ve studijních plánech
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
2. Výrazy, aritmetické konverze a operátory. Priorita operátorů. Přiřazovací příkaz, L-hodnota, R-hodnota. Konstanty.
3. Příkazy větvení, if, else, příkazy switch a case. Realizace cyklů v jazyce C.
4. Řetězce, jednorozměrné pole naplněné řetězcem zakončeným znakem NULL. Řetězcové literály, ASCII tabulka a znakové sady. Funkce pro práci s řetězci.
5. Datový typ ukazatel. Ukazatel a pole, ukazatelová aritmetika. Pole ukazatelů.
6. Funkce. Rekurzivní funkce. Práce s pamětí – rozsah platnosti proměnných.
7. Pokročilé datové typy – Struktury, unie, výčtový typ. Ladění programu.
8. Dynamická alokace paměti, příklad jednoduché databáze.
9. Hlavičkové soubory, knihovny. Příkazy preprocesoru.
10. Práce se soubory, zápis do souboru a čtení.
11. Vazby dynamických proměnných, lineární seznamy a stromy.
12. Modifikátory proměnných const, volatile. Nové normy jazyka.
Cvičení na počítači
Vyučující / Lektor
Osnova
2. Výrazy, aritmetické konverze a operátory. Priorita operátorů. Přiřazovací příkaz, L-hodnota, R-hodnota. Konstanty.
3. Příkazy větvení, if, else, příkazy switch a case. Realizace cyklů v jazyce C.
4. Řetězce, jednorozměrné pole naplněné řetězcem zakončeným znakem NULL. Řetězcové literály, ASCII tabulka a znakové sady. Funkce pro práci s řetězci.
5. Datový typ ukazatel. Ukazatel a pole, ukazatelová aritmetika. Pole ukazatelů.
6. Funkce. Rekurzivní funkce. Práce s pamětí – rozsah platnosti proměnných.
7. Pokročilé datové typy – Struktury, unie, výčtový typ. Ladění programu.
8. Dynamická alokace paměti, příklad jednoduché databáze.
9. Hlavičkové soubory, knihovny. Příkazy preprocesoru.
10. Práce se soubory, zápis do souboru a čtení.
11. Vazby dynamických proměnných, lineární seznamy a stromy.
12. Modifikátory proměnných const, volatile. Nové normy jazyka.