Detail předmětu
Algoritmy
FEKT-KIZPAk. rok: 2011/2012
Algoritmy a řešení problémů: strategie řešení problémů, strukturovaná dekompozice, pojem a vlastnosti algoritmu. Základní programovací konstrukty: syntaxe a sémantika vyššího programovacího jazyka, proměnné, typy, přiřazení, řídicí struktury, procedury a funkce, předávání parametrů, vstupy/výstupy, zpracování výjimečných stavů. Základní datové struktury: primitivní datové typy, strukturované datové typy: pole, záznam, soubor, znakové řetězce. Dynamické datové struktury, typ ukazatel. Strategie pro volbu vhodné datové struktury. Rekurze, pojem rekurze. Globální a lokální proměnné. Jednoduché rekurzivní procedury. Modulární návrh a abstrakce. Pojmy a algoritmy budou ilustrovány využitím vhodného programovacího jazyka (ISO/IEC 9899: Programming languages - C).
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Výsledky učení předmětu
Prerekvizity
Plánované vzdělávací činnosti a výukové metody
Způsob a kritéria hodnocení
Osnovy výuky
Techniky řešení problémů. Návrh a implementace algoritmů.
Principy vyšších programovacích jazyků. Symboly, oddělovače, konstanty, identifikátory, proměnné, reprezentace čísel, návěští.
Koncepce dat. Jednoduché datové typy. Výrazy a příkazy.
Řídící struktury. Bloková struktura programu, rozsah platnosti identifikátorů.
Funkce, parametry funkcí.
Textové soubory, standardní vstup/výstup.
Strukturované datové typy.
Rekurze v programování.
Typ ukazatel a dynamické proměnné. Spojové struktury.
Základní metody řazení.
Základní metody vyhledávání.
Verifikace programů, ladění a dokumentace.
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
Wirth N.: Algoritmy a štruktúry údajov, Alfa Bratislava, 1988.
Wirth N.,Jensen K.: Pascal User manual and report, ISO Pascal Standard, Springer-Verlag, 1991.
Zařazení předmětu ve studijních plánech
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
Techniky řešení problémů. Návrh a implementace algoritmů.
Principy vyšších programovacích jazyků. Symboly, oddělovače, konstanty, identifikátory, proměnné, reprezentace čísel, návěští.
Výrazy a příkazy.
Textové soubory vstup/výstup.
Koncepce dat. Jednoduché datové typy. Strukturované datové typy.
Strukturované programování. Řídící struktury. Bloková struktura programu, rozsah platnosti
Procedury a funkce, parametry, .
Rekurzívní procedury a funkce.
Typ ukazatel a dynamické proměnné. Spojové struktury.
Základní metody řazení.
Základní metody vyhledávání.
Ladění a dokumentace programu.
Cvičení na počítači
Vyučující / Lektor
Osnova
Nástroje ladění programů. Standardní knihovny. Jednoduché programy v jazyku Turbo Pascal.
Konzultace k domácím úkolům (výpočty). Obhajoba domácích úkolů.
Konzultace k domácím úkolům (matice). Obhajoba domácích úkolů.
Konzultace k domácím úkolům (soubory). Obhajoba domácích úkolů.
Konzultace k domácím úkolům (programové jednotky). Obhajoba domácích úkolů.