Repeat

Z Delphi & Pascal (česká wiki)
Verze z 22. 9. 2012, 21:18, kterou vytvořil Zdeno Sekerák (diskuse | příspěvky) (repeat, until)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Skočit na navigaci Skočit na vyhledávání

Podmienené cykly (cykly s nekonečným počtom opakovaní)

REPEAT .. UNTIL

REPEAT
 príkaz;
 .. 
UNTIL (podmienka);

Cyklus REPEAT .. UNTIL je založený na tom, že príkazy sa môžu vykonať nekonečne veľa krát. Opakovanie bude ukončené až vtedy keď bude splnená podmienka zadaná za slovíčkom UNTIL.

Repeat
 WriteLn('Stlac klaves ENTER ak chces pokracovat');
 ch:=ReadKey;
Until (ch=#13);

Program bude po každom stlačení klávesy na obrazovku vypisovať text dovtedy pokiaľ, nebude stlačená klávesa ENTER.

WHILE

WHILE (podmienka) DO BEGIN
 príkaz;
 ..
END;

Príkazy medzi BEGIN .. END sa budú vykonávať dovtedy, pokiaľ bude splnená podmienka v časti WHILE. Cyklus je podobný REPEAT .. UNTIL s tým rozdielom že v tomto cykle sa podmienka testuje na začiatku, zatiaľ čo pri REPEAT až po prvom vykonaní príkazov. Z tohto vyplýva, že REPEAT .. UNTIL sa vykoná najmenej raz, zatiaľ čo WHILE sa nemusí vykonať ani raz.

i:=0;
while (i<10) do begin
  i:=i+1;
  WriteLn('I=',i);
end;

Premenná i slúži ako počítadlo. Na začiatku sa nastaví na hodnotu 0. V podmienke sa testuje, či je menšia ako 10. Pokiaľ je i menšie potom sa vykonávajú príkazy medzi BEGIN..END. Jeden z príkazov je aj zväčšenie premenej i. Takže cyklus sa zopakuje celkovo 10 krát.