Цикл с условием (цикл «пока»)
💻 Информатика · 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. Число шагов зависит от количества цифр и заранее неизвестно — поэтому подходит именно цикл с условием.
Накопление и счётчики
Внутри цикла часто используют две типичные переменные. Накопитель суммы до начала цикла обнуляют, а в теле прибавляют к нему очередное значение — так находят сумму или произведение. Счётчик тоже обнуляют заранее и увеличивают на единицу при выполнении нужного условия — так подсчитывают количество объектов. Эти приёмы работают одинаково и в цикле с условием, и в цикле со счётчиком. Правильная подготовка таких переменных до входа в цикл — обязательное условие верного результата: если забыть обнулить накопитель, в нём останется «мусор» от прежних вычислений, и ответ окажется неверным.
Зацикливание
Если внутри тела ничего не меняет значение, влияющее на условие, цикл никогда не остановится. Это зацикливание — одна из самых частых и опасных ошибок. Чтобы её избежать, нужно следить, что на каждом шаге тело приближает условие к ложному значению.
Частые ошибки. Забывают менять переменную условия внутри тела (зацикливание); путают цикл с пред- и постусловием; используют цикл с условием там, где число повторов известно заранее (там удобнее цикл со счётчиком); неверно записывают условие выхода и получают на один повтор больше или меньше.
Кратко о главном
- Цикл с условием повторяет тело, пока условие истинно.
- Предусловие может не выполниться ни разу, постусловие — минимум один раз.
- Применяют, когда число повторов заранее неизвестно.
- Тело обязано влиять на условие, иначе будет зацикливание.