Lexiq

Végtelen ciklus

Programozás során a több alkalommal lefuttatni kívánt részeket ciklusokba helyezhetjük. A ciklus addig fut, amíg egy meghatározott feltétel nem teljesül (vagy a ciklus típusától függően addig, amíg a feltétel igaz). Amennyiben olyan feltételt adunk meg a ciklusnak, hogy az soha nem tud befejeződni (például mert a feltétel soha nem teljesül), végtelen ciklusról beszélünk. A végtelen ciklusba került számítógépek gyakran összeomlanak vagy hosszabb idő után hibaüzenetet adnak vissza.

Példa egy cégtelen ciklusra:

legyen X = 0
futtasd a { } jelek között lévő parancsokat addig, amíg X nem lesz 10
 {írd ki, hogy "szia"}

Mivel X értéke a { } jelek között nem változik, X soha nem lesz 10, így a ciklus a végtelenségig fog futni. Az eredmény a "szia" szó egymás után "végtelen" alkalommal (vagy legalábbis a gép leállásáig folyamatosan) leírva. Ha a { } jelek közé beírjuk a

növeld X értékét 1-el

parancsot, akkor X értéke a ciklus minden lefutásakor növekedni fog, így 10 futás után igaz lesz a ciklus feltétele, és a ciklus leáll (az eredmény a "szia" szó tízszer kiírva).

Matematikailag bizonyított, hogy nincs olyan módszer, amivel az összes lehetséges algoritmusról (programról) el lehet dönteni, hogy az végtelen ciklusba fog-e jutni.