Základy práce se 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.

Hanojská věž

Provedli jsme rozbor rekurzivního algoritmu pro řešení proslulé logické hádanky.

Myšlenku algoritmu lze zhruba zachytit následovně:

// presune n disku z koliku from na kolik to
hanoiMove(n,from,to)
// jde o presun nejmensiho disku
if n = 1 then
    presouvam n z from na to
else
   // zjistime na ktery kolik muzeme odkladat
   odkladaci := odkl(from,to)
   // odlozime disky, ktere lezi na n-tem disku
   hanoiMove(n-1,from,odkladaci)
   // presuneme n ty disk
   presouvam n z from na to
   // presuneme odlozene disky na n-ty disk
   hanoiMove(n-1,odkladaci,to) 

Domácí úkol

Domácí úkol je za 30 bodů. Úloha má název Kombinace. Jde opět o cvičení na rekurzi.

Příklady

Bez jakýchkoliv záruk zde vystavuji něco jako archiv modelových příkladů. Některé z nich se mohou objevit u zápočtových testů. V archivu najdete nejen zadání, ale i řešení, která mohou být často inspirativní, geniální, nebo také nesrozumitelná a přehnaně komplikovaná.