Další druh cyklů je řízen podmínkou tak, že se vykonává dokud je podmínka splněna (je pravda) nebo dokud není podmínka splněna (není pravda).
while
while (podminka) do ...;
Cyklus řízený podmínkou na začátku se provádí dokud je podmínka splněna. Nemusí se provést ani jednou, pokud není podmínka splněna při vstupu do cyklu. Podminka je výraz, který může nabývat hodnotu pravda, nebo nepravda.
repeat ... until (podminka);
Naproti tomu cyklus řízený podmínkou na konci se vykoná minimálně jednou. Bude se vykonávat dokud podmínka není splněna.
Slova repeat a until označují v tomto případě začátek a konec programového bloku. Nahrazují tak slova begin a end.
Tento cyklus si jistě oblíbíte v kombinaci s funkcí Keypressed jednotky CRT.
repeat until keypressed;
Tento speciální repeat cyklus doslova zastaví běh programu a čeká na stisk klávesy. Použít tento sled příkazů se vyplatí např. na konci programu, kdy jsou vypsány nějaké hodnoty, které by uživatel jinak těžko zachytil (Platí to zejména pokud spouštíte programy z Windows a máte nastaveno "Při skončení zavřít").
Poznámka: Většina mých programů je na konci zastavena právě tímto cyklem, neboť předpokládám, že je budete spouštět přímo z kursu (tedy z Windows). Cyklus však není vždy součástí řešení a proto ho tam také většinou nenajdete.
Break;
Předčasné ukončení prováděného cyklu (příkazy for , while a repeat ).
Cvičení: Cvičení 12 Cvičení 13 Cvičení 14