Cyklus s neurčeným počtom
opakovaní
while podmienka
do príkaz;
while podmienka do begin
príkaz1;
príkaz2;
...
end;
- podmienka je logický výraz
- cyklus pracuje takto: vyhodnotí sa logický výraz a pokiaľ je
splnená podmienka, teda výsledkom je hodnota True, príkaz
uvedený v časti za do sa bude vykonávať dovtedy, pokiaľ sa
hodnota logického výrazu nezmení sa False, vtedy príkaz cyklu
ukončí svoju činnosť. Ak hodnota logického výrazu je hneď na začiatku
False, príkaz sa nevykoná ani jedenkrát.
- možno použiť v prípade, ak nevyhovuje cyklus for-to-do z hľadiska
jeho kroku, pretože krok v for-to-do cykle sa mení vždy o
hodnotu 1
Príklad:
var
i:integer;
begin
...
i:=1;
while i<5 do begin
a:=a+b;
i:= i+ 0.5;
end;
...
end;
repeat príkaz
until podmienka;
repeat príkaz1;
príkaz2;
...
until podmienka;
- podmienka je logický výraz
- cyklus pracuje takto: vykoná sa postupnosť príkazov (ktorá je
medzi repeat a until), a po vykonaní tejto postupnosti sa
vyhodnotí logický výraz. Ak je výsledkom hodnota False,
postupnosť príkazov medzi repeat a until sa vykoná opäť.
Cyklus sa ukončí vtedy, ak logický výraz nadobudne hodnotu True.
Postupnosť príkazov medzi repeat a until sa teda vykoná
vždy aspoň jedenkrát. Tu je potrebné zadávať podmienku cyklu opačne
ako pri while - do.
- možno použiť v prípade, ak nevyhovuje cyklus for-to-do z hľadiska
jeho kroku, pretože krok v for-to-do cykle sa mení vždy o
hodnotu 1
Príklad:
var
i:integer;
begin
...
i:=1;
repeat a:=a+b;
i:= i+ 0.5;
until i>5;
...
end;
návrat