Programování - NPRF033
|
|
|
||
Poslední úprava: T_KSVI (12.04.2001)
|
|
||
Poslední úprava: RNDr. Pavel Zakouřil, Ph.D. (05.08.2002)
|
|
||
Poslední úprava: G_I (28.05.2001)
práce na PC, základy operačního systému MS-DOS - role algoritmizace a programování při využívání počítačů - integrované prostředí Turbo Pascalu, ladící prostředky. 2. Jazyk Pascal a Turbo Pascal algoritmus, správnost, vstupní a výstupní data, efektivita - program, programovací jazyk, chyby v programu, ladění - proměnná, konstanta - číselné typy, char, boolean, výčtový typ, interval - stavba výrazu a jeho vyhodnocení - základní příkazy v Pascalu (:=, if, while, repeat, složený) - hierarchická stavba příkazů, struktura programu - pole, for-cyklus, záznam, with, množina - typ řetězec v Turbo Pascalu - procedury a funkce, parametry, lokalita, rekurze - práce se soubory - unity, návrh programu shora dolů - unit Crt v Turbo Pascalu - grafika na PC, unit Graph v Turbo Pascalu - typ ukazatel, dynamicky alokované proměnné. 3. Algoritmy a programování Eukleidův algoritmus - Eratosthenovo síto - Hornerovo schéma - reprezentace dlouhých čísel v poli - vyhledávání v poli (sekvenční, binární, zarážka) - operace s maticemi - chyby při výpočtech s reálnými čísly - rekurze a možnosti jejího využití - metoda \"rozděl a panuj\" - prohledávání do hloubky (backtracking) - prohledávání do šířky (algoritmus \"vlny\") - časová a paměťová složitost algoritmů, programů a problémů - odvození složitosti konkrétních algoritmů a programů - základní metody vnitřního třídění (přímé metody, quicksort, heapsort, mergesort, přihrádkové třídění) - vnější třídění (přímé a přirozené slučování) - lineární spojové seznamy a operace s nimi - realizace zásobníku a fronty v poli a spojovým seznamem - stromy, grafy, průchody stromem a grafem - binární vyhledávací stromy bez vyvažování - hašování - programová realizace základních grafových algoritmů (souvislost grafu, Dijkstrův algoritmus, minimální kostra, topologické třídění) - principy objektového programování. 4. Rozšiřující informace dnešní trendy (programování řízené událostmi, opakované užívání softwarových komponent, užívané programovací jazyky, moderní ladicí prostředky, týmová práce ve vývoji software). |