В операторе цикла с постусловием (начинающимся со слова
repeat) выражение, которое управляет повторным выполнением после-
довательности операторов содержится внутри оператора repeat.
┌──────┐ ┌────────┐ ┌─────┐ ┌─────────┐
оператор ─>│repeat├────>│оператор├──┬─>│until├──>│выражение├──>
repeat └──────┘ ^ └────────┘ │ └─────┘ └─────────┘
│ ┌───┐ │
└────┤ ; │<────┘
└───┘
Результат выражения должен быть булевского типа. Операторы,
заключенные между ключевыми словами repeat и until, выполняются
последовательно до тех пор, пока результат выражения не примет
значение True. Последовательность операторов выполнится по край-
ней мере один раз, поскольку вычисление выражения производится
после каждого выполнения последовательности операторов.
Приведем примеры оператора цикла с постусловием:
repeat
K := I mod J;
I := J;
J := K;
until J = 0;
repeat
Write('Введите значение (0..9):');
Readln(I);
until (I >= 0) and (I <= 9);