Příklady z přednášky PRM044
školní rok 2007/2008
Tato stránka obsahuje některé programy z přednášky
PRM044 Programování I konané ve školním roce 2007/8 pro studenty 1.ročníku matematiky na
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 diskuse 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.
Soubory jsou ke stažení jako textové s příponou txt, aby se Vám neotvírali Delphi. Bude-li je chtít použít v Borland Pascalu,
můžete příponu změnit na pas
Zimní semestr - PRM0044
- Trasování Ariadnina algoritmu na konkrétním bludišti
- Demonstrační příklad na zaokrouhlovací chyby.
- Demonstrační programy pro použití konstanty.
Úkolem je spočíst průměr posloupnosti kladných čísel ukončené nulou.
Verze bez konstanty a verze s konstantou.
- Výpočet hodnoty čísla zapsaného v poziční soustavě o obecném základě.
- Kvadratický algoritmus pro nejdelší rostoucí vybrané posloupnosti
- Algoritmus počítání n-té mocniny pomocí maximálně 2*ln2(n) násobení
- Ukázkový program demonstrující formátovaný výstup číselných hodnot
a jeho výstup
- Pascalův trojúhelník
- Jednotka utab obsahujici typ tab reprezentujici tabulku.
- Jednotka obsahující knihovnu několika podprogramů pro hledaní v tabulce.
Jednotka užívá typ tabulky importovaný z jednotky utab.
- Program hledá M navzájem se neohrožujících se dam na šachovnici M x M.
- Nerekursivní a rekursivní verze programu hledajícího
všechny rozklady zadaného čísla na sčítance
- Animace rekursivních algoritmů
- Třídící algoritmy vnitřního třídění
- 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 prvky, které se explicitně objevily na vstupu,
vstup a výstup do textového souboru.
- Animace průchodů grafem
- Čtení šachovnice se zakázanými políčky vytvořené v editoru
srovnej s variantním zadáváním souřadnic zakázáných políček
Letní semestr - NPRM045
- Animace práce se spojovými seznamy
- spojový seznam
- přidání prvku na začátek spojového seznamu
- odebrání prvku ze začátku spojového seznamu
- průchod spojovým seznamem
- přidání prvku na konec spojového seznamu
- odebrání prvku z konce spojového seznamu
- Program vyhledávání v uspořádaném seznamu
s přístupem na fiktivní začátek (hlavu) a fiktivní konec (ocas).
- animace operací s binárními vyhledávacími stromy
- vyhledávání prvku ve stromě
- vkládání prvku do stromu
- vypouštění prvku z binárního vyhledávacího stromu
- animace operací s AVL stromy
- vkládání do AVL stromu
- rotace při vkládání do AVL stromu
- vypouštění z AVL stromu
- rotace při vypouštění z AVL stromu
- 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,
jednoduchá objektová hierarchie tříd zvire, pes a kocka
- Ukazka hierarchie geometrických obrazců
- Hledání optimálního složení batohu - úloha s celočíselnými koeficienty
- Trasování algoritmu nalezení nejdejšího společného podřetězce
- animace průchodů binárním stromem reprezentujícím aritmetický výraz
- inorder
- preorder
- postorder
- Hledání kořene metodou půlení intervalu - příklad použití funkcionálních parametrů
- Animace grafových algoritmů
--