Přejít k hlavnímu obsahu Mobilní verze Mapa webu
Teleinformatika

BIZP: Základy programování - algoritmy

Obrázek vystihující předmět
Garant: doc. RNDr. Jitka Kreslíková, CSc.
Zkratka: BIZP
Rozsah: 39P– 12C ­– 14ost
Zařazení: Bakalářské studium
Kredity: 6
Povinnost: volitelný oborový předmět

Stručný popis

Naučit se analyzovat vybrané problémy a stanovit elementární algoritmy k jejich řešení. Seznámit se s principy a vlastnostmi vyšších programovacích jazyků a zvolený jazyk ovládnout na úrovni nezbytné pro implementaci algoritmů. Seznámit se s organizací dat při řešení problémů. Aktivně ovládnout základní algoritmy a umět je aplikovat v praktických problémech. Seznámit se s hodnocením složitosti algoritmů. Seznámit se s principy testování programů. Naučit se používat prostředky pro ladění programů. Naučit se dokumentovat obhajovat a prezentovat dosažené výsledky.

Popis předmětu

Student se naučí analyzovat a navrhovat jednoduché algoritmy pro počítače. Seznámí se se základní koncepcí programovacích jazyků. Naučí se vytvářet programy ve vyšších programovacích jazycích. Porozumí EBNF pro popis syntaxe programovacího jazyka. Osvojí si odborné pojmy z oblasti programování, syntax a sémantiku programovacího jazyka.

Obsah předmětu (anotace):

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).

Sylabus

Vlastnosti algoritmů, notace a zápis algoritmů.
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.