Příklady z přednášek PRM044 a PRM045
školní rok 2006/2007
Tato stránka obsahuje některé programy z přednášky
PRM044 Programování I konané ve školním roce 2006/7 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.
- Demonstač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 pro nalezení délky nejdelší rostoucí vybrané posloupnosti mající složitost N*log(N)
- 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 importovaý 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ů
- 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.
- Třídící algoritmy vnitřního třídění
- Animace průchodů grafem
- Hledání kořene metodou půlení intervalu - příklad použití funkcionálních parametrů
Letní semestr - PRM045
- 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 průchodů binárním stromem reprezentujícím aritmetický výraz
- inorder
- preorder
- postorder
- animace oprací 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
- Vnější třídění
- 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