Zazwyczaj w danym języku programowania zdefiniowane w składni konstrukcje pętli repetycyjnych są tak określone, że jest możliwe sprawdzenie jedynie warunku albo na początku, albo na końcu pętli – nie ma w tym przypadku możliwości zdefiniowania warunków sprawdzanych zarówno na początku, jak i na końcu pętli (np. C, C++, Pascal). Inaczej jest jednak, gdy zdefiniowana jest w języku jedna konstrukcja pętli, w której można definiować warunki za pomocą opcjonalnych fraz instrukcji, tak jak zostało to przyjęte np. w języku PL/I.

+ Porównanie: PL/I – C, C++ PL/I C, C++DO WHILE A<B UNTIL C>B; /* instrukcje pętli */ /* brak konieczności stosowania instrukcji warunkowej i opuszczenia wszystkie warunki zdefiniowane w nagłówku pętli za pomocą odpowiednich fraz */ END;while(a<b) { /* instrukcje pętli */ /* sprawdzenie dodatkowego warunku na końcu pętli wymaga użycia instrukcji warunkowej i opuszczenia */ if(!(c>b)) break;

Także rzadko występującą możliwością konstruowania pętli jest możliwość jej kontynuowania po zakończeniu bieżącego warunku, już dla innego, kolejnego warunku.