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

В каком случае цикл будет  выполнятся бесконечно  т.е произойдет зацикливание ?
Гость
Ответ(ы) на вопрос:
Гость
Итак зацикливание в программировании - это ситуация, когда цикл написан таким образом ,что условия выхода из него не выполняется. Рассмотрим зацикливание в операторах цикла 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 i<>1 do write(i); end. Оба компилятора адекватно реагируют на пропуск шага. Зацикливание в repeat Для создание бесконечного цикла в этом случае, как и предыдущем, достаточно не указывать шаг цикла var i:integer; begin i:=0; repeat write(i); until i=1; end. тут вам приведены различные варианты для создание бесконечного цикла. Однако запомните,что зацикливание создает нагрузку и вообще редко используется. Гораздо чаще применяют неполное зацикливание при котором выход из цикла все же совершается.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы