Pętla nieskończona

Pętla nieskończona to pętla, która nigdy nie zostanie zakończona, ponieważ nigdy nie zajdzie warunek zakończenia pętli.Może być to działanie celowe, stosowane w celu napisania programu nie kończącego nigdy swojego działania (por. serwer, daemon).W praktyce zdarza się, że takie pętle okazują się jednak skończone ze względu na biegnące równolegle procesy, które mogą wywołać pewne zdarzenia – zarówno informatyczne (np. przerwania), jak i fizyczne (np. awaria sprzętu).

Nieskończone pętle często są przejawem błędów w oprogramowaniu. Tutaj niebieski ekran śmierci wystąpił, ponieważ „sterownik urządzenia utknął w nieskończonej pętli”.

Niektóre języki programowania mają w swojej składni pętle nieskończone (obok innych – skończonych – instrukcji pętli), np.:

 loop    ... end loop
 BEGIN   ... AGAIN
 repeat wyrażenie
 LOOP    ... END
 DO FOREVER   ... END

Powstanie pętli nieskończonej może też być błędem programisty, który źle określił warunek zakończenia pętli. O programie komputerowym, który wykonuje pętlę nieskończoną, czasami mówi się, że „zawiesił się”.

Przykłady w C/C++/Java/C#/Python

W językach C[6][7][8], C++[8], Java, C#, Python:

while(true){  // dowolne operacje, „true''”'' można zastąpić dowolną wartością różną od zera.}

albo

for (;;){  // dowolne operacje}

albo

while True:     print "pętla nieskończona"

W wielu językach istnieje instrukcja bezwarunkowego wyjścia z pętli (np. w języku C[6][7][8]) lub w nowszych implementacjach języków, w których standardowo nie występuje taka instrukcja (np. Pascal[9]Turbo Pascal[10]).

repeat   if <warunek> then break;until false;

Przypisy