Задать вопрос
6 сентября, 13:23

В каком случае цикл будет выполнятся бесконечно т. е произойдет зацикливание?

+2
Ответы (1)
  1. 6 сентября, 14:03
    0
    Итак зацикливание в программировании - это ситуация, когда цикл написан таким образом, что условия выхода из него не выполняется. Рассмотрим зацикливание в операторах цикла for, while и repeat. Справедливости ради все варианты будут рассмотрены в Turbo Pascal и PascalABC. Также будет добавлен оператор write для вывода результатов.

    Зацикливание в for

    Вообще идея зацикливания проста: необходимо всего-то в каждом шаге цикла уменьшать оператор шага на 1 (i:=i-1;). Однако именно такая реализация возможна не везде. Рассмотрим простой пример.

    for i:=1 to 5 do begin

    i:=i-1;

    write (i) ;

    end.

    Казалось бы все просто, да не тут то было. В то время как в Turbo Pascal все проходит на ура, в PascalABC такое не возможно и для зацикливания необходимо использовать оператор goto.

    label m;

    var i:integer;

    begin

    m:

    for i:=1 to 5 do begin

    write (i) ;

    if i=2 then goto m;

    end;

    end.

    Зацикливание в while

    Напомню, что в операторе while шаг цикла необходимо добавлять самостоятельно. Поэтому произвести зацикливание проще всего: нужно только убрать шаг цикла

    var i:integer;

    begin

    i:=0;

    while i1 do

    write (i) ;

    end.

    Оба компилятора адекватно реагируют на пропуск шага.

    Зацикливание в repeat

    Для создание бесконечного цикла в этом случае, как и предыдущем, достаточно не указывать шаг цикла

    var i:integer;

    begin

    i:=0;

    repeat

    write (i) ;

    until i=1;

    end.

    тут вам приведены различные варианты для создание бесконечного цикла. Однако запомните, что зацикливание создает нагрузку и вообще редко используется. Гораздо чаще применяют неполное зацикливание при котором выход из цикла все же совершается.
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «В каком случае цикл будет выполнятся бесконечно т. е произойдет зацикливание? ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы