Цикл с предусловием
💻 Информатика · 7 класс
Цикл с предусловием
Цикл с предусловием — это форма повторения в алгоритме, при которой условие проверяется перед каждым выполнением тела цикла. Если условие истинно, тело выполняется ещё раз; как только оно становится ложным, цикл завершается и исполнитель переходит к следующим командам. Такой цикл часто называют циклом «пока» (по-английски while). Циклы нужны для того, чтобы не записывать одни и те же команды много раз подряд: вместо длинного списка одинаковых действий мы пишем их один раз и указываем, при каком условии повторять.
Как устроен цикл «пока»
В цикле с предусловием выделяют три обязательные части. Без любой из них цикл будет работать неправильно.
- Условие — логическое выражение, которое может быть истинным или ложным. Именно его проверяет исполнитель перед каждым повтором.
- Тело цикла — команды, которые повторяются, пока условие истинно.
- Изменение данных — шаг, который постепенно приближает условие к ложному значению, чтобы цикл когда-нибудь завершился.
Работает это так: исполнитель проверяет условие. Если оно истинно, выполняется тело, затем проверка повторяется заново. Если условие ложно, тело пропускается, и цикл заканчивается.
Важная особенность
Так как проверка идёт до выполнения тела, цикл с предусловием может не выполниться ни разу. Если условие ложно с самого начала, исполнитель сразу переходит к командам после цикла. Этим цикл «пока» отличается от цикла с постусловием, где тело хотя бы один раз выполняется обязательно.
| Признак | Цикл с предусловием | Цикл с постусловием |
|---|---|---|
| Где проверка | Перед телом | После тела |
| Минимум повторов | 0 раз | 1 раз |
| Ключевое слово | «пока» | «до тех пор пока не» |
| Когда удобен | Число повторов неизвестно | Нужен хотя бы один проход |
Разбор примера
Найдём сумму чисел от 1 до 5. Переменная i — счётчик, переменная s накапливает сумму.
s := 0;
i := 1;
пока i <= 5
нц
s := s + i;
i := i + 1
кц;
вывод sСначала s равно 0, а i равно 1. На каждом шаге к сумме прибавляется текущее значение i, после чего i увеличивается на единицу. Проследим за работой: при i = 1 сумма станет 1, при i = 2 — 3, при i = 3 — 6, при i = 4 — 10, при i = 5 — 15. Когда i станет равно 6, условие i <= 5 окажется ложным, и цикл завершится. На экран выведется число 15.
Частая ошибка: забыть команду, которая меняет переменную из условия. Тогда условие всегда остаётся истинным, и программа «зависает» в бесконечном цикле. Перед запуском всегда проверяйте, что внутри тела есть шаг, приближающий завершение.
Где применяют
Цикл с предусловием особенно удобен, когда заранее неизвестно, сколько раз нужно повторить действие. Например, делить число пополам, пока оно больше единицы, или просить ввести пароль, пока он не окажется верным. В таких задачах число повторов зависит от данных, и счётчик заранее задать нельзя.
Кратко о главном
- В цикле с предусловием условие проверяется перед телом.
- Тело может не выполниться ни разу, если условие сразу ложно.
- Обязательно должна быть команда, делающая условие ложным.
- Цикл «пока» удобен, когда число повторов заранее неизвестно.