Нескінченний цикл: відмінності між версіями
[перевірена версія] | [перевірена версія] |
Вилучено вміст Додано вміст
м Категоризація за вмістом |
м заміна застарілого тегу source |
||
Рядок 18:
=== [[Паскаль (мова програмування)|Pascal]] ===
<
while true do
begin
Рядок 28:
{ тіло циклу }
until false;
</syntaxhighlight>
=== Для [[С (мова програмування)|С]]-подібних мов<ref>[http://stackoverflow.com/questions/20186809/endless-loop-in-c-c Endless loop in C/C++]</ref> ===
<
for (;;) {
/* тіло циклу */
Рядок 55:
/* тіло циклу */
} while(1)
</syntaxhighlight>
=== [[Python]] ===
<
while True:
# тіло циклу
</syntaxhighlight>
=== [[Пакетний файл]] [[MS-DOS]] ===
<
:loop
rem тіло циклу
goto loop
</syntaxhighlight>
=== [[Bash]] ===
<
while true
do
# тіло циклу
done
</syntaxhighlight>
=== [[Ruby]] ===
Мова містить спеціальну конструкцію нескінченного циклу:
<
loop {
# тіло циклу
}
</syntaxhighlight>
=== [[Ада (мова програмування)|Ада]] ===
Ада також містить спеціальну конструкцію, що описує нескінченний цикл<ref>[[b:Ada Programming/Control#Endless Loop|Ada Programming: Control: Endless Loop]]</ref>:
<
loop
-- тіло циклу
end loop;
</syntaxhighlight>
Окрім того, варто відмітити, що Ада дозволяє здійснити вихід одразу з декількох вкладених циклів, а також має умовну форму оператора виходу, що дозволяє уникнути використання оператора розгалуження.
<
Out_Cycle:
loop
Рядок 111:
--звідси продовжиться виконання програми
--після виконання інструкції exit Out_Cycle;
</
=== [[Lua]] ===
<
while true do
-- тіло циклу
end
</syntaxhighlight>
== Практика ==
Рядок 130:
В [[C++]] цикл проходу по деякому набору елементів з використанням [[абстрактний клас|абстрактного класу]] (ітератора) виглядає так:
<
Element* el;
SomeIterator it();
Рядок 137:
...
}
</syntaxhighlight>
В деяких діалектах [[Pascal]] цей же цикл (із зберіганням можливості використовувати оператор '''<code>continue</code>''', тобто, без '''<code>el:=it.Get;</code>''' в кінці циклу) виглядає так:
<
it := SomeIterator.Create;
repeat
Рядок 148:
...
until false;
</syntaxhighlight>
Програми, з яких немає виходу (наприклад [[операційна система|операційні системи]], [[мікропрограма|прошивки]] [[мікроконтролер]]ів), також зазвичай є нескінченними циклами. Для попередження неконтрольованого нескінченого циклу використовують [[сторожовий таймер]].
|