logo
Лекции по TURBO PASCAL

Цикл Repeat ... Until

Формат записи этого цикла:

Repeat

<оператор1>;

<оператор2>;

...

<операторN>

Until <условие выхода>;

Цикл Repeat (повторять) очень похож на цикл While. Но работает немного по-другому:

Сначала выполняется последовательность операторов после Repeat, затем проверяется <условие выхода> записанное после Until. Если оно ложно, цикл выполняеттся заново. Если же оно истинно, то цикл заканчивает свою работу.

То есть тело цикла Repeat всегда выполнится хотя бы один раз. Потому можно сказать, что цикл While сначала думает, а потом делает, а Repeat наоборот: сначала делает, а потом думает. Ещё раз обратите внимание, что цикл Repeat повторяется только тогда, когда условие после Until ложно, потому это условие и называется “условием выхода”.

Составим ещё раз программу счёта от 1 до 100, используя теперь цикл Repeat - Until :

Program Schet_ot_1_do_100;

Var i : integer;

Begin

i := 1 ;

Repeat

writeln (i);

i := i + 1;

until i > 100;

end.

Сравните эту программу с аналогичной, которую мы оформляли с циклом While. Сколько вы найдёте различий, прежде чем читать дальше?

Всего должно быть не меньше двух отличий:

  1. В цикле Repeat не использованы операторные скобки begin - end (они ему просто не нужны!)

  2. По разному записаны условия цикла, в цикле Repeat записано условие выхода: когда оно выполнится, цикл завершит работу.