Programming - NPRF033
|
|
|
||
Basic course of programming for students of first year of magister study of physics. Content of course is programming language Pascal (and Turbo Pascal), design of algorithms and programs.
Last update: T_KSVI (12.04.2001)
|
|
||
Last update: Zakouřil Pavel, RNDr., Ph.D. (05.08.2002)
|
|
||
1. Práce na PC v Turbo Pascalu
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). Last update: G_I (28.05.2001)
|