Detail předmětu
Počítače a programování 2
FEKT-BKC-PC2MAk. rok: 2022/2023
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)
Elearning
Zařazení předmětu ve studijních plánech
- Program BKC-MET bakalářský 1 ročník, letní semestr, povinný
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
2. Úvod do jazyka C. Základní typy proměnných, odvozené typy, konstanty, pole.
3. Výrazy, aritmetické konverze, aritmetické operátory, operátory posuvů, relační operátory, logické operátory, bitové operátory, přiřazovací operátory, priorita operátorů.
4. Řetězce a jejich operátory, knihovní funkce, standardní knihovna string.h.
5. Příkazy, složený příkaz, příkazy pro větvení, cykly a přenos řízení. Vývojový diagram.
6. Funkce. Deklarace funkce, metody volání funkcí, ošetření událostí, rekurze funkcí.
7. Pokročilé datové typy. Unie, výčtový typ, dynamické proměnné, ukazatel.
8. Objekty. Lexikální elementy, konstanty a řetězce, třídy objektů, typy objektů.
9. Uživatelské rozhraní Microsoft Visual C++ Studio. Grafické komponenty.
10. Algoritmy I. Vyhledání maxima a minima, třídění.
11. Algoritmy II. Práce s poli, maticové výpočty.
12. Algoritmy III. Práce se soubory ve Windows.
13. Algoritmy IV. Databázové systémy. Záznamy, třídění, vyhledávání, statistiky. Propojení databází.
Cvičení na počítači
Vyučující / Lektor
Osnova
2. Úvod do jazyka C. Základní typy proměnných, odvozené typy, konstanty, pole.
3. Výrazy, aritmetické konverze, aritmetické operátory, operátory posuvů, relační operátory, logické operátory, bitové operátory, přiřazovací operátory, priorita operátorů.
4. Řetězce a jejich operátory, knihovní funkce, standardní knihovna string.h.
5. Příkazy, složený příkaz, příkazy pro větvení, cykly a přenos řízení. Vývojový diagram.
6. Funkce. Deklarace funkce, metody volání funkcí, ošetření událostí, rekurze funkcí.
7. Pokročilé datové typy. Unie, výčtový typ, dynamické proměnné, ukazatel.
8. Objekty. Lexikální elementy, konstanty a řetězce, třídy objektů, typy objektů.
9. Uživatelské rozhraní Microsoft Visual C++ Studio. Grafické komponenty.
10. Algoritmy I. Vyhledání maxima a minima, třídění.
11. Algoritmy II. Práce s poli, maticové výpočty.
12. Algoritmy III. Práce se soubory ve Windows.
13. Algoritmy IV. Databázové systémy. Záznamy, třídění, vyhledávání, statistiky. Propojení databází.
Elearning