P
pro·school.ru
Каталог школ

Цикл с условием (цикл «пока»)

💻 Информатика · 9 класс

Цикл с условием

Цикл с условием — это конструкция, которая повторяет группу команд (тело цикла) до тех пор, пока выполняется заданное логическое условие. В отличие от цикла со счётчиком, здесь заранее неизвестно, сколько раз повторится тело. Такой цикл применяют, когда число повторений зависит от данных, а не задано числом.

Цикл с условием — одна из трёх базовых алгоритмических структур наряду со следованием и ветвлением. Любой алгоритм можно собрать из этих трёх «кирпичиков».

Цикл с предусловием

В цикле «пока» условие проверяется перед каждым выполнением тела. Если в самом начале условие ложно, тело не выполнится ни разу. Этот вариант удобен, когда нужно сначала убедиться, что действие вообще имеет смысл.

пока x > 0 повторять: x := x - 1

Цикл с постусловием

В цикле «до» условие проверяется после тела, поэтому тело всегда выполняется хотя бы один раз. Такой цикл применяют, когда первое действие надо сделать в любом случае, например запросить у пользователя ввод.

ПризнакЦикл «пока»Цикл «до»
Где проверкаперед теломпосле тела
Минимум повторов0 раз1 раз
Когда выходимусловие стало ложнымусловие выполнилось

Разобранный пример: сумма цифр числа

Чтобы найти сумму цифр натурального числа, мы по одной «отрываем» последнюю цифру, пока число не станет нулём:

S := 0 пока N > 0 повторять: S := S + N mod 10 N := N div 10

Здесь mod — остаток от деления (последняя цифра числа), div — целочисленное деление (оно отбрасывает последнюю цифру). Например, для числа 137 цикл выполнится три раза: добавит 7, затем 3, затем 1, и сумма станет равна 11. Число шагов зависит от количества цифр и заранее неизвестно — поэтому подходит именно цикл с условием.

Накопление и счётчики

Внутри цикла часто используют две типичные переменные. Накопитель суммы до начала цикла обнуляют, а в теле прибавляют к нему очередное значение — так находят сумму или произведение. Счётчик тоже обнуляют заранее и увеличивают на единицу при выполнении нужного условия — так подсчитывают количество объектов. Эти приёмы работают одинаково и в цикле с условием, и в цикле со счётчиком. Правильная подготовка таких переменных до входа в цикл — обязательное условие верного результата: если забыть обнулить накопитель, в нём останется «мусор» от прежних вычислений, и ответ окажется неверным.

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

Если внутри тела ничего не меняет значение, влияющее на условие, цикл никогда не остановится. Это зацикливание — одна из самых частых и опасных ошибок. Чтобы её избежать, нужно следить, что на каждом шаге тело приближает условие к ложному значению.

Частые ошибки. Забывают менять переменную условия внутри тела (зацикливание); путают цикл с пред- и постусловием; используют цикл с условием там, где число повторов известно заранее (там удобнее цикл со счётчиком); неверно записывают условие выхода и получают на один повтор больше или меньше.

Кратко о главном

  • Цикл с условием повторяет тело, пока условие истинно.
  • Предусловие может не выполниться ни разу, постусловие — минимум один раз.
  • Применяют, когда число повторов заранее неизвестно.
  • Тело обязано влиять на условие, иначе будет зацикливание.