Charles Explorer logo
🇨🇿

Programování I

Předmět na Matematicko-fyzikální fakulta |
NPRX030

Sylabus

a) Základních algoritmy, datové struktury a programovací techniky

- základní představa o efektivitě algoritmů

- dělitelnost čísel, Eukleidův algoritmus

- test prvočíselnosti, Eratosthenovo síto

- Hornerovo schéma

- rozklad celého čísla na cifry, poziční číselné soustavy

- algoritmy vyhledávání v poli (sekvenční, binární, zarážka)

- řazení dat v poli (vnitřní třídění)

- práce s maticemi (základní operace)

- implementace zásobníku a fronty v poli

- aritmetika s vyšší přesností ("dlouhá čísla")

- použití rekurze, backtracking, metoda "rozděl a panuj"

- prohledávání do hloubky a do šířky

- algoritmus minimaxu

- halda a operace s haldou

- faktorová množina

- dynamické datové struktury, operace s lineárními spojovými seznamy

- binární stromy, vyhledávací stromy, vyvažování (AVL-stromy)

- vícecestné vyhledávací stromy (B-stromy)

- notace aritmetického výrazu, vyhodnocování

- vnější třídění b) Typické prostředky a nástroje programovacích jazyků ukázané na příkladu programovacího jazyka Pascal (Turbo Pascal) v rozsahu

- proměnné, konstanty, typy, inicializované proměnné

- jednoduché a strukturované datové typy (čísla, char, boolean, výčtový typ, pole, záznam, znakový řetězec)

- jednoduché a strukturované příkazy (dosazovací příkaz, if, while, repeat, for, case, with)

- textové soubory (včetně formátování výstupních dat)

- procedury a funkce (lokalita identifikátorů, způsoby předávání parametrů, rekurze)

- příkazy skoku

- ukazatele a dynamicky alokované proměnné

- základní parametry překladače (paměťová omezení, přepínače provádění kontrol). c) Práce v integrovaném vývojovém prostředí, tvorba a ladění programů - prakticky procvičena na příkladě integrovaného vývojového prostředí Turbo Pascal nebo Free Pascal (editor, překlad, výpočet, ladicí prostředky - trasování, sledování hodnot proměnných atd.).

Anotace

Základní kurs algoritmizace a programování pro studenty 1. ročníku bakalářského studia informatiky a učitelství informatiky. Obsahem kursu jsou principy algoritmizace, základní algoritmy, datové struktury a programovací techniky, typické prostředky programovacích jazyků, praktický návrh a ladění programů.