Repeat
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 (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.