Vstup a výstup
Opakování procedur pro práci s textovými soubory.
Postup pro práci s textovými soubory:
- 1. Vytvoříme proměnnou typu soubor var soubor: text;
- 2. Spojíme proměnnou se jménem souboru assign(soubor,'jmenoSouboru');
- 3. Otevřeme soubor - nový/existující pro přepis/existující pro přidávání rewrite(soubor); / reset(soubor); / append(soubor);
- 4. Pracujeme se souborem - čtení/zápis read(soubor,promenna_do_ktere_cteme); / write(soubor,promenna_kterou_zapisujeme);
- 5. Zavřeme soubor close(soubor);
Pokud chceme zjistit, jestli se otevření/zavření souboru podařilo, můžeme zapnout direktivy překladače a testovat co vrátí funkce IOResult. Ta vrací kód vypovídající o poslední I/O operaci (rewrite,reset,append,close). Když je vše v pořádku, tak vrací 0.
Jednoduchý příklad byl inspirován zdařilou parodií na seriál Star Trek. Šlo o program, který ukládá záznamy do lodního deníku.
Rekurze
Pomocí rekurze lze řešit úlohy, které lze rozdělit na menší podůlohy stejného typu. Na příkladu algoritmu quicksort bylo demonstrováno, jak rekurze funguje (jak se dělí úloha na podůlohy).
Programovali jsme menší úlohu na vypisování všech možných permutací. Cílem bylo ukázat, jak v praxi vypadá návrh jednoduchého rekurzivního algoritmu:
- 1. stanovíme ukončovací podmínku rekurze
- 2. specifikujeme jakým způsobem se vytváří podůlohy
Byla popsána úloha na doplňování magických čtverců, která je zadána v CodExu do příštího cvičení.