Бесконачна петља — разлика између измена
Садржај обрисан Садржај додат
Нема описа измене |
м Разне исправке; козметичке измене |
||
Ред 9:
|list6 = [[Контрола протока]]
}}
'''Бесконачна петља'''(или '''петља без граница''') је низ упутстава у [[Рачунарски програм|рачунарском програму]] који улазе у бесконачну петљу, било због [[Управљање током|петље]] која нема завршно стање, имате неког који се не може срести, или оног који изазива поновни почетак петље. У старијим [[Оперативни систем|оперативним системима]] са [[Кооперативно мултитасковање|кооперативним мултитасковањем]], бесконачне петље обично утичу на цео систем да престане да реагује. Са садашњим преовлађујућим превентивним мултитаскинг моделом, бесконачне петље узрокују да програм троши све могуће време процесора, али обично се може зауставити од стране корисника. [[Активно чекањe]] петље се такође понекад зову и "бесконачне петље". Један могући узрок [[Држ (рачунарство)|"заустављања"]] рачунара је бесконачна петља ; остали укључују [[млаћење]] (енгл.[[Trashing(computer science)|thrashing]]), [[застој]] и [[
== Планирано против непланираног петљања ==
Ред 19:
Старински [[Бушена картица|читач картица]], [[опрема за записивање јединица]], би се буквално зауставио када би обрада картице била завршена , пошто није било потребе да хардвер настави са радом , све док се не учита нова гомила програмских картица.
Насупрот томе, модерни интерактивни рачунари захтевају да рачунар стално надгледа корисничке уносе или активност уређаја , тако да на неком основном нивоу постоји бесконачан процес [[idle петље]] која мора да настави све док се уређај не искључи или ресетује. У [[Apollo Guidance Рачунар
Модерни рачунари такође обично не заустављају процесор или цикличне сатове матичне плоче када се "сруше". Уместо тога, враћају се грешци која приказује поруке оператору, и улази у бесконачну петљу чекајући корисника да или одговори на упит како би наставио, или да ресетује уређај.
Ред 26:
Најчешће се термин користи за оне ситуације када то није циљани резултатаt;то је , када се деси "[[Баг (информатика)|баг]]". Овакве грешке су најчешће код програмера почетника, али могу се десити и код искуснијих програмера такође,јер су њихови узроци доста суптилни.
Један чест узрок, на пример,је тај када програмер покуша да понови нешто над збирком ставки као што је [[Povezana lista|повезана листа]], извршавајући код петље једном за сваку ставку. Неправилно формирање везе може створити референтну петљу у листи, где је један елемент листе повезан са оним који се догодио раније на листи. Овај део листе улази у круг, што доводи да програм петља заувек.
Док се већина бесконачних петљи могу наћи у близини инспекције кода, не постоји општи метод за одређивање да ли ће се дати програм икада зауставити или ће радити заувек ; ово је често код [[Халтинг проблем|проблема заустављања]].
Ред 72:
=== Математичке грешке ===
Овде је пример бесконачне петље у [[
dim x as integer
do while x < 5
Ред 116:
== Вишепартијска петља ==
Иако су бесконачне петље у једном програму обично лаке за предвидети, петља изазвана од стране више лица је много теже предвидети. Замислите сервер који увек одговара са грешком у виду поруке ако не разуме тражени захтев. Очигледно, не постоји могућност за бесконачном петљом на серверу, али ако су ту два сервера(A и Б), и A прими поруку о непознатом типу из Б, онда А одговара са грешком у виду поруке серверу Б, Б не разуме поруку у одговара серверу А са његовом поруком , А не разуме поруку од Б и шаље још једну грешку у виду поруке, и тако у бесконачност. Један чест пример ове ситуације је [[
== Квази-бесконачне петље ==
Ред 127:
/* loop code */
}
</source>Чини се да ће ово ићи у недоглед, али уставари ће вредност <code>i</code> на крају достићи максималну складишну вредност у <code>unsigned int</code> и додавање броја 1 том броју ће се завршити са 0, окончавајући петљу. Стварна граница
=== Бесконачна рекурзија ===
Ред 171:
}
}
</source>Термин је наводно добио име од програмера који је кодирао модалну поруку кутије у [[
==
* [[Детекција кружења]]
* [[Застој]]
* [[Дивергенција (рачунарство)]]
* [[GoTo]]
* [[
* [[Форк бомба]]
|