Végtelen ciklus
Programozás során a több alkalommal lefuttatni kívánt parancsokat ciklusokba helyezhetjük. A ciklusba írt parancsok előre meghatározott alkalommal vagy egy megadott feltétel teljesüléséig ismételten le- és lefutnak. 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 vé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.
Publikálva: 2020. április 28.