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

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

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

Что такое цикл с постусловием

Цикл с постусловием — это цикл, в котором условие проверяется после выполнения тела цикла, а не до него. В Паскале такой цикл записывают конструкцией repeat … until, что переводится как «повторять … до тех пор пока». Его главная особенность состоит в том, что тело цикла выполняется хотя бы один раз, даже если условие выхода истинно с самого начала. Сначала компьютер выполняет команды, и только потом проверяет, нужно ли повторять их снова.

Сравнение с циклом «пока»

В цикле с предусловием (while, цикл «пока») сначала проверяется условие, и лишь затем, если оно истинно, выполняется тело. Если условие ложно с самого начала, тело не выполнится ни разу. В цикле с постусловием порядок обратный: сначала действие, потом проверка. Поэтому минимальное число повторений у этих циклов разное.

СвойствоЦикл «пока»Цикл «до»
Где стоит проверкаВ начале, до телаВ конце, после тела
Минимум повторений0 раз1 раз
Цикл повторяется, пока условиеИстинноЛожно (до истины)
Когда завершаетсяУсловие стало ложнымУсловие стало истинным

Разбор примера

Попросим пользователя вводить число до тех пор, пока он не введёт положительное. Здесь хотя бы один ввод нужен обязательно — спросить значение надо в любом случае, поэтому цикл с постусловием подходит идеально:

повторять   ввод x до тех пор пока x > 0 вывод "Спасибо, ваше число:", x

Тело цикла — команда ввода x — выполнится как минимум один раз. Затем проверяется условие x > 0. Если число оказалось положительным, цикл завершается; если нет (например, ввели -3 или 0), компьютер возвращается к началу тела и снова просит ввести число.

Когда что выбирать

  • Действие нужно сделать хотя бы один раз (ввод данных, показ меню) — берём цикл с постусловием.
  • Возможно, действие не понадобится вовсе (обработка пустого списка) — берём цикл с предусловием.

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

Частая ошибка. Перепутать направление условия. Цикл «до» завершается, когда условие становится истинным, а цикл «пока» — когда становится ложным. Если записать условие наоборот, легко получить бесконечный цикл, из которого программа никогда не выйдет.

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

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