Оператор организует выполнение цикла, состоящего из любого цикла операторов, с неизвестным заранее числом повторений. Тело цикла выполняет хотя бы один раз. Выход из цикла осуществляется при истинности некоторого логического выражения.
Структура оператора
repeat
instruction 1;
instruction 2;
instruction N
until s;
repeat ….. until - своеобразные операторные скобки;
instruction 1, instruction 2,…, instruction N - выполняемые операторы, составляющие тело цикла;
s- логическое выражение, истинность которого проверяется в конце каждого цикла;
; ставить перед until необязательно.
Пример
function UpCase (ch: char): char;
{Преобразует строчную латинскую букву в заглавную. ch- выражение типа char, которое находится в пределах a .. z. Если ch - не в указанных пределах, функция не выполняет никаких действий.}
Program EXAMPLE 6;
var
x, y, sum: real;
ch: char;
begin
repeat
write (‘введите числа x и y’);
readln (x, y);
sum:=x+y;
writeln(‘сумма чисел равна’, sum);
write(‘завершить программу?’);
readln(ch);
until (UpCase(ch)=’Y’) or (ch=’д’) or (ch=’Д’)
end.
Структура оператора
repeat <тело цикла> until <условие>
Работа оператора REPEAT
Операторы выполняются хотя бы один раз, после чего вычисляется выражение s (<условие>). Если его значение FALSE, то оператор повторяется. Если TRUE, то работа оператора завершается.