Статистика
Всего в нашей базе более 4 327 663 вопросов и 6 445 977 ответов!

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

5-9 класс

Zarinali 09 июля 2014 г., 22:10:30 (9 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
Mois82
09 июля 2014 г., 23:18:32 (9 лет назад)

Итак зацикливание в программировании - это ситуация, когда цикл написан таким образом ,что условия выхода из него не выполняется. Рассмотрим зацикливание в операторах цикла 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.
тут вам приведены различные варианты для создание бесконечного цикла. Однако запомните,что зацикливание создает нагрузку и вообще редко используется. Гораздо чаще применяют неполное зацикливание при котором выход из цикла все же совершается.

Ответить

Другие вопросы из категории

Читайте также

ПОМОГИТЕ!!!ПРОГРАММА НА ПАСКАЛЕ!!!

при каком последнем значение будет выполняться цикл
g:=0; while g<0 do g:=g-1


хелп ми!!!

1)в какой структуре цикла операторы "тела" цикла обязательно выполняются хотя бы один раз?

2)В операторе while A do B, на месте B ставится?
3)Сколько раз выполнится цикл
A:=1;
while A<=5 do
A:=A+1;
4)В операторе while A do B; на месте A ставится?
5)Какой оператор в цикле должен присутствовать для правильного его завершения?
6) В какой из циклических структур операторы тела цикла не надо заключать в "операторные скобки"?
7)После выполнения операторов
K:=0;S:=0;
while K>10 do
S:=S+K;
K:=K+2;
Ps. Это все паскаль.

Сколько раз будет выполняться цикл

for i:=7 to 12 do...;
Чему будет равна переменная s после выполнения фрагмента программы
s:=40;
for i:=15 to 19 do
s:=s+1
Дан шаблон цикла
forx:=M downto N do begin...end;
Чему равен шаг цикла?
Помогите пожалуйста

в каком типе цикла тело цикла выполняется пока условие ложно?

А) цикл со счетчиком
Б) цикл с постусловием
В) цикл с предусловием
Г) цикл с рекурсией

Как работает цикл?

Что будет если конечное значение счетчика будет меньше начального?
Что происходит с циклом если значение шага отрицательно?



Вы находитесь на странице вопроса "В каком случае цикл будет выполнятся бесконечно т.е произойдет зацикливание ?", категории "информатика". Данный вопрос относится к разделу "5-9" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.