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).
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;