1.4.2. Cyklus s podmínkou na konci

Používá se v případech, kdy víme, že cyklus musí být proveden alespoň jednou, příčemž nemusíme znát kolik opakování přesně bude. Pokud program dospěje k cyklu, provede bez okolků všechny příkazy v jeho těle a potom narazí na podmínku. Pokud je tato podmínka splněna, program se vrací na začátek těla cyklu a ten se opakuje. V opačném případě je cyklus ukončen.

Příklad 1.19. Do-while - Obecná syntaxe (C)

do {
	 tělo cyklu
} while (výraz);
				

Příklad 1.20. Do-while - Obecná syntaxe (Pascal)

Repeat 
  Příkaz_nebo_blok_příkazů;
Until Booleovský_výraz;		

Příklad 1.21. Do-while - Jednoduchý příklad (C)

do {
	 printf("Ahoj");
	 i++;
} while (i  > 10);
				

Příklad 1.22. Do-while - Jednoduchý příklad (Pascal)

var
   j: integer;
begin
  j:=0;
  repeat
   begin
    j := j + 1;
    writeln('Box:'+IntToStr(j)) ;
   end;
  until j > 5;
end;

Příklad 1.23. Do-while - Komplexní příklad (C)

#include <iostream.h>
using namespace std;

int main()
{
char r3char = 0;
int r3value = 0;

do
{
r3value++;
cout << r3value << endl;
cout << "loop more? y/n: ";
cin >> r3char;
}while(r3char=='y' || r3char=='Y'); // meaning of "||" is "or". 
cout << endl << "2 much looping 4 you?";
return 0;
}	

Příklad 1.24. Do-while - Komplexní příklad (Pascal)

procedure TForm1.Button1Click(Sender: TObject);
var i:Integer;
begin
  i:=0;
repeat
    inc(i);
    Label1.Caption:=IntToStr(i);
    Application.ProcessMessages;
until
    i=1000;
end;