Цикл с постусловием (цикл «до»)
💻 Информатика · 9 класс
Что такое цикл с постусловием
Цикл с постусловием — это цикл, в котором условие проверяется после выполнения тела цикла, а не до него. В Паскале такой цикл записывают конструкцией repeat … until, что переводится как «повторять … до тех пор пока». Его главная особенность состоит в том, что тело цикла выполняется хотя бы один раз, даже если условие выхода истинно с самого начала. Сначала компьютер выполняет команды, и только потом проверяет, нужно ли повторять их снова.
Сравнение с циклом «пока»
В цикле с предусловием (while, цикл «пока») сначала проверяется условие, и лишь затем, если оно истинно, выполняется тело. Если условие ложно с самого начала, тело не выполнится ни разу. В цикле с постусловием порядок обратный: сначала действие, потом проверка. Поэтому минимальное число повторений у этих циклов разное.
| Свойство | Цикл «пока» | Цикл «до» |
|---|---|---|
| Где стоит проверка | В начале, до тела | В конце, после тела |
| Минимум повторений | 0 раз | 1 раз |
| Цикл повторяется, пока условие | Истинно | Ложно (до истины) |
| Когда завершается | Условие стало ложным | Условие стало истинным |
Разбор примера
Попросим пользователя вводить число до тех пор, пока он не введёт положительное. Здесь хотя бы один ввод нужен обязательно — спросить значение надо в любом случае, поэтому цикл с постусловием подходит идеально:
повторять
ввод x
до тех пор пока x > 0
вывод "Спасибо, ваше число:", x
Тело цикла — команда ввода x — выполнится как минимум один раз. Затем проверяется условие x > 0. Если число оказалось положительным, цикл завершается; если нет (например, ввели -3 или 0), компьютер возвращается к началу тела и снова просит ввести число.
Когда что выбирать
- Действие нужно сделать хотя бы один раз (ввод данных, показ меню) — берём цикл с постусловием.
- Возможно, действие не понадобится вовсе (обработка пустого списка) — берём цикл с предусловием.
Важно помнить, что любой цикл с постусловием можно переписать через цикл с предусловием, и наоборот — они эквивалентны по возможностям. Выбор между ними определяется удобством и смыслом задачи: там, где первое действие обязательно, цикл «до» делает текст программы короче и понятнее. Чтобы цикл не оказался бесконечным, внутри тела обязательно должно происходить что-то, влияющее на условие выхода, — например, новый ввод данных или изменение счётчика.
Частая ошибка. Перепутать направление условия. Цикл «до» завершается, когда условие становится истинным, а цикл «пока» — когда становится ложным. Если записать условие наоборот, легко получить бесконечный цикл, из которого программа никогда не выйдет.
Кратко о главном
- В цикле с постусловием проверка стоит в конце, после тела.
- Тело цикла выполняется не менее одного раза.
- Цикл «до» завершается, когда условие становится истинным.
- Его применяют, когда действие точно нужно выполнить хотя бы раз.