Poniżej przedstawione modyfikowanie działania pętli nie jest polecane, głównie ze względu na optymalizację kodu oraz jego czytelność. Zatem powinniśmy unikać stosowania tych konstrukcji. Są one podane z uwagi na naturę dydaktyczną.
Break, continue
Dowolną pętlę możemy przerwać w środku jej działania, bez wykonania warunku. Służy do tego instrukcja break. Wykonanie kolejnej iteracji pętli, bez kończenia wszystkich czynności z poprzedniej iteracji umożliwia nam continue.
Odliczanie od 10, przerwanie przy wartości losowej:
int los = losuj(0, 9)+1; // losuje wartość od 1 do 10 Wypisz los; Wypisz "\n"; // "\n" przerzuca do nowej linii for(int i = 10; i > 0; i--) { if(i == los){ Wyświetl "Nieproszony gość!, przerywam."; break; // przerywa całkowicie działanie pętli } Wypisz i; Wypisz ", "; }; Przykładowy wynik wykonania powyższego programu: 4 10, 9, 8, 7, 6, 5, Nieproszony gość!, przerywam.
Odliczanie od 10, przeskok do kolejnej iteracji przy wartości losowej:
int los = losuj(0, 9)+1; // losuje wartość od 1 do 10 Wypisz los; Wypisz "\n"; for(int i = 10; i > 0; i--) { if(i == los){ Wyświetl "Przeskok !, "; continue; // przerywa obecną iterację; } Wypisz i; Wypisz ", "; }; Przykładowy wynik wykonania powyższego programu: 6 10, 9, 8, 7, Przeskok!, 5, 4, 3, 2, 1,
Goto
W niektórych językach możemy również przenieść działanie programu za pośrednictwem instrukcji skoku goto do ustalonego punktu, zapisanego w postaci nazwa: (nazwa miejsca skoku zakończona dwukropkiem).
Przeskok dla x == 10:
int x = 0; while(x < 100) { if(x == 10) goto etykieta; // instrukcja skoku; x++; // inkrementacja; }; return x; // instrukcja zwracająca x; etykieta: Wypisz "Przerwano działanie pętli"; return 0; Przykładowy wynik wykonania powyższego programu: Przerwano działanie pętli; Program zwrócił 0.
Przerywanie pętli, bądź przeskakiwanie za pośrednictwem goto nie jest praktykowane ze względu na czytelność kodu programu (pętla umieszczona na początku kodu, która następnie przeskakuje do znacznika oddalonego o 50 – 100 linijek kodu nie jest czytelna).
Autor tekstu: Jacek Woźniak