next up previous contents
Next: Příliš složité řešení Up: Obecné programátorské chyby Previous: Používání goto   Obsah

Použití nesprávné smyčky

Zvláště začínající programátor často nevidí žádný rozdíl mezi smyčkou typu while a repeat. Oba typy smyček samozřejmě jde vzájemně převést, ale pouze za cenu zmenšení přehlednosti kódu.

Je důležité si uvědomit, že cyklus while nemusí proběhnout ani jednou. Naproti tomu cyklus repeat musí proběhnout alespoň jednou. Pokud si tento rozdíl neuvědomíte může to vést k chybám v programu.

Často také dělá problémy uvědomit si, jak má být otočená podmínka cyklu. Pro obě výše uvedené smyčky nabízím tuto mnemotechnickou pomůcku: Pokud je hodnota podmínky true, potom program pokračuje následujícím řádkem. U smyčky while to znamená, že se bude cyklit (další řádek je určitě v těle cyklu) a u smyčky repeat to znamená, že skončí (další řádek už není v těle cyklu).

Pozor! U jiných programovacích jazyků tento myšlenkový postup nemusí fungovat (viz např C, C++, Java). Zde mluvíme o Pascalu, případně Object Pascalu.

Třetím typem smyčky je příkaz for. Tento cyklus je určen pro ty případy, kdy přesně víme, kolikrát má smyčka proběhnout. Je důležité vědět, že proměnná cyklu se nesmí v tomto případě v jeho těle změnit. Můžeme ji pouze číst. Její změna vede k nepředvídatelnému chování na různých překladačích!


next up previous contents
Next: Příliš složité řešení Up: Obecné programátorské chyby Previous: Používání goto   Obsah
David Martinek 2002-10-01