Для программной реализации циклических алгоритмов с неизвестным заранее числом повторений имеется еще один оператор − оператор цикла с постусловием, который имеет следующий вид:
Оператор цикла с постуславием
Repeat (повторять}
<оператор 1>;
<оператор 2>;
……………
<оператор n>;
Until{до тех пор, пока не} <условие>;
Этот оператор отличается от цикла с предусловием тем, что проверка условия производится после очередного выполнения тела цикла. Это обеспечивает выполнение цикла хотя бы один раз.
Обратите внимание на то, что данный оператор цикла предполагает наличие нескольких операторов в теле цикла, поэтому служебные словаBeginиEnd не нужны.
Последовательность операторов, входящих в тело цикла, выполняется один раз, после чего проверяется соблюдение условия, записанного следом за служебным словом Until. Если условие соблюдается, цикл завершается. В противном случае тело цикла выполняется еще раз, после чего снова проверяется соблюдение условия.
С помощью процедуры KeyPressed модуля CRT и цикла с постусловием можно организовать ожидание нажатия любой клавиши:
Repeat Until KeyPressed.
Пример 1
Составить программу планирования закупки товара в магазине на сумму, не превышающую заданной величины.