Příklady z přednášek PRM001
školní rok 2002/2003
Tato stránka obsahuje některé programy z přednášky
PRM001 Programování konané ve školním roce 2002/3 pro studenty matematiky
1.ročníku MFF UK.
Budu se snažit, aby na ní studenti nalezli zdrojové texty
rozsáhlejších a důležitých programů probíraných na přednášce.
Většinou bude uveden pouze zdrojový text, nikoli rozsáhlejší
komentované zadání úlohy nebo diskusi různých řešení.
Primárním cílem není vytvářet učebnici, ale "pouze" odbřemenit studenty
od nutnosti na přednášce opisovat dlouhé texty. Předpokládá se tedy, že
si student přesné zadání úlohy a podrobnější diskusi o programu
zapíše na přednášce.
- Výpočet hodnoty čísla zapsaného
v poziční soustavě o obecném základě.
- Hledání nejdelší rostoucí vybrané posloupnosti.
- Program hledá M navzájem se neohrožujících se dam na
šachovnici M x M.
- Jednotka obsahující knihovnu několika podprogramů pro hledaní v tabulce.
Jednotka užívá typ tabulky importovaý z (následujici) jednotky utab.
- Jednotka utab obsahujici typ tab reprezentujici tabulku.
- Program realizující jednoduchý sekvenční algoritmus hledající reflexivní, symetrický a transitivní uzávěr relace nad čísly z intervalu 0..M
Současně jde o příklad na zacházení s množinami.
- Realističtější verze předchozího programu
Do vytvářené relace bere jen ty prvku, které se explicitně objevili na vstupu, vstup a výstu do textového souboru.
- Rozklad čísla na (menší) sčítance
Zpět PRM001
- Třídící algoritmy vnitřního třídění
- Vnější třídění
- Vyhledávání a vkládání prvků do uspořádaného seznamu
- Vkládání do kořene binárního vyhledávacího stromu
v deklaracích s polem synů, ve které jde vytvořit
podprogram s parametrem určujícím směr vkládání.
- Nerekursivní verze vytváření dokonale vybalancovaného stromu
ze začátku (zadané délky) rostoucí posloupnosti .
- Motivační příklad pro zavedení objektového programování
- Unita obsahující objektovou implementaci dvojsměrných lineárních seznamů s hlavou
- Programy demonstrující virtuální metody
Zpět PRM001