7.5.3. ОПЕРАТОР ЦИКЛА С ПОСТУСЛОВИЕМ REPEAT

 

Данный оператор имеет вид:

repeat s until p;

 

Сначала выполняется тело цикла (s), затем вычисляется логическое выражение p (условие), в случае ложности которого вновь выполняется тело цикла. Затем выполнение тела цикла, вычисление условия p и его проверка повторяются до тех пор, пока выражение p не станет равным true. Тогда управление передается следующему (за repeat) оператору в программе.

Использованные здесь зарезервированные слова repeat и until имеют смысл повторять и пока не, соответственно.

Пример использования оператора цикла repeat:

 

Program prost; {проверка, является ли введенное с клавиатуры

                натуральное число простым}

var

   n: integer; {введенное число}

   d: integer; {делитель}

   r: integer; {остаток от деления}

begin

   write(’Введите натуральное число:’); readln(n);

   d:=2; {сначала будем делить на два}

   repeat

      r:= n mod d;

      if r<>0 {n не разделилось нацело на d}

         then d:=d+1;

   until r=0; {пока не нашли число, на которое делится n}

   if d=n

      then writeln(n,’ – простое число.’)

      else writeln(n,’ – не простое число.’);

end.