16. 11. 2008


Algoritmizace a programování


Free Pascal


Cíl:
  - Orientovat se v základním ovládání prostředí Free Pascalu
  - Pochopit smysl ladění programů
  - Zvládnout technologii krokování programu






Prostředí Free Pascalu

Free Pascal je program řešený v DOSovském prostředí. Z tohoto titulu jsou i odlišné způsoby ovládání, než jste zvyklí pod Windows. Ovládání je možné pomocí klávesnice (horké klávesy), pomocí Menu a myši.

Přehledná tabulka pro horké klávesy.

 F1 Zobrazení Helpu
Ctrl-F1 Zobrazení Helpu pro klíčové slovo na, které ukazuje kurzor
Shift+kk Označování textu (kk- kurzorové klávesy)
Crtl-Insert Kopírování vybraného textu do schránky
Shift-Insert Vložení textu ze schránky na místo, kde je umístěn kurzor.
Ctrl-F5 Přepnutí okna do režimu změny velikosti pomocí kurzorových kláves (Shift-kk). Dvojité rámování okna je změněno na jednoduché. Ukončení tohoto módu - ESC (Escape).
F5 Zvětšení aktuálního okna na maximální velikost
Alt-F5 Přepnutí do režimu zobrazení uživatelského okna - okna, které používá spuštěný program
F2 Uložení zdrojového kódu
F3 Načtení existujícího zdrojového souboru
Alt-F3 Uzavření aktuálního okna
F9 Přeložení zdrojového kódu. V případě chyby, překladač na ni upozorní a označí toto místo v textu. Pokud je syntaxe v pořádku, překladač na tuto skutečnost upozorní
Ctrl-F9 Přeložení zdrojového kódu (stejně jako u F9), ale současně je program spuštěn.
Alt-n Přepnutí do okna n (0, 1, ... 9). Každé okno má přidělené svoje číslo
Alt-x Ukončení prostředí FP
F10 Přepnutí to režimu Menu. V Menu se pohybujeme pomocí kurzorových kláves. Ukončení provedeme pomocí Enter (příkaz se provede). ESC ukončí práci v Menu a vrátíme se do editovacího režimu.
Insert Zapnutí / Vypnutí vkládacího nebo přepisovacího režimu.

Ovládání okna pomocí myší ilustruje následující obrázek:

free_pascal_01.gif, 75kB

Chyby v programu

Při programování se nikdo neubrání chybám v algoritmech, aneb jak praví Murphyho zákony:

  1. V každém programu je minimálně jedna chyba
  2. Odstraněním této chyby vznikne minimálně další jedna
mluvi.gif, 1,1kB mluvi.gif, 1,1kB mluvi.gif, 1,1kB mluvi.gif, 1,1kB mluvi.gif, 1,1kB mluvi.gif, 1,1kB mluvi.gif, 1,1kB mluvi.gif, 1,1kB mluvi.gif, 1,1kB mluvi.gif, 1,1kB mluvi.gif, 1,1kB mluvi.gif, 1,1kB mluvi.gif, 1,1kB mluvi.gif, 1,1kB mluvi.gif, 1,1kB mluvi.gif, 1,1kB mluvi.gif, 1,1kB mluvi.gif, 1,1kB mluvi.gif, 1,1kB mluvi.gif, 1,1kB

Chyby mohou vznikat různým způsobem. Často to je jen překlep při psaní. Pokud vznikne syntaktická chyba (chyba, která neodpovídá pravidlům překladače) jsme na ni upozorněni při překladu. To je to nejjednodušší oprava. Pokud při překlepu nevznikne syntaktická chyba (např. záměna operátorů porovnání, použití špatné, ale existující proměnné...), pak se tato chyba hledá mnohem hůře. Vzniká tzv. "profesionální slepota", přestože se na chybu díváte, stejně ji nevidíte. Tato chyba se nejlépe odstraní "krokování" (vysvětlíme si později) programu.

Nejhorší chyby, jsou chyby systémové. To jsou chyby, které vzniknou špatným nebo nedomyšleným algoritmem. mraci.gif, 1,1kB Ty se odhalují nejhůře, ale i zde může pomoc krokování programu.


Tabulka "horkých" kláves potřebných pro ladění a krokování programu.

Ctrl-F8 Nastavení nebo zrušení "break pointu" - místa zastavení programu. Řádek s break pointem je zvýrazněn červeně.
F8 Provedení všech instrukcí na aktuálním řádku a přesun na další řádek instrukcí. Vždy se provedou všechny instrukce uvedené na řádku.
F7 Provedení instrukcí na aktuálním řádku a přesun na další řádek instrukcí. V případě, že je součástí příkazů procedura nebo funkce, krokování pokračuje uvnitř procedury nebo funkce.
Crtl-F7 Přidání proměnné, na které stojí kurzor, do okna Watches. V tom to okně je vidět obsah proměnných, které jsme chceme znát. Odstranění proměnné z okna Watches se provede klávesou Delete.
Alt-F5 Přepnutí do obrazovky programu
Ctrl-F1 Zobrazení Helpu pro klíčové slovo na které ukazuje kurzor


Použití horkých kláves při ladění

free_pascal_02.jpg, 75kB
Zobrazení Helpu po stisknutí horké klávesy
Ctrl-F1. Kurzor byl umístěn na klíčové slovo Val.

free_pascal_03.jpg, 78kB
Červeně označený řádek určuje místo zastavení programu (break point).
V programu jich může být víc. Po spuštění programu (Ctrl-F9) se běh programu na prvním break pointu, na který narazí. Řádek, který se má provést, je označen šedou barvou.
Po zastavení programu k jeho pokračování použijeme klávesy
Ctrl-F9 - pokračování programu
F8 - provedení příkazu na aktuálním řádku
F7 - provedení příkazu na aktuálním řádku - v případě procedury nebo funkce, bude pokračovat krokování uvnitř těchto procedur a funkcí.

free_pascal_04.jpg, 70kB
Kurzor byl umístěn na proměnnou S a byla stisknuta klávesa
Ctrl-F7 - otevřelo se okno pro přidání této proměnné do sledovacího okna Watches.

free_pascal_05.jpg, 66kB
Okno Watches se sledovanou proměnnou S a zobrazení jejího obsahu.