Условный оператор цикла REPEAT.

Является условным оператором цикла с постпроверкой условия, т.е. вначале выполняется оператор, а потом проверяется условие.

Оператор Модуль Назначение Пример
REPEAT SYSTEM

Повторение заданной последовательности операторов в зависимости от условия. Форма записи:

REPEAT
 <оператор>;
UNTIL <условие>;
REPEAT, UNTIL — зарезервированные слова (повторять до тех пор, пока не будет выполнено условие);
<условие> — выражение логического типа;
<оператор> — исполнительный оператор.

VAR
 I:INTEGER;
BEGIN
 ...
 I:=0;
 REPEAT
  READLN(I);
 UNTIL I>100;
 ...
END.

<Оператор> выполнится хотя бы один раз, после чего проверяется <условие>: если его значение есть FALSE (условие не выполняется), <оператор> повторяется, в противном случае (условие выполняется) оператор REPEAT — UNTIL завершает свою работу.

Пара REPEAT — UNTILподобна операторным скобкам BEGIN — END; (составной оператор), поэтому перед UNTIL ставить точку с запятой необязательно. REPEAT воспринимается как BEGIN, а UNTIL воспринимается как END;.

Для более гибкого управления циклическими операторами FOR, WHILE и REPEAT в состав Turbo Pascal включены две процедуры:

BREAK — реализует немедленный выход из цикла; действие процедуры заключается в передаче управления оператору, стоящему сразу за концом циклического оператора;
CONTINUE — обеспечивает досрочное завершение очередного прохода цикла; эквивалент передачи управления в самый конец циклического оператора.

Пример программы.

Program Repeat_Demo;
Var
 I  : Integer;
 St : String;
BEGIN
 Write('Введите слово: '); 
 Readln(St); 
 Writeln('Повторяю 10 раз.'); 
 I:=0;
 Repeat
  Writeln(St);
  I:=I+1;
 Until I=10;
END.

Блок-схема программы.