Язык:
Русский
English
repeat...until (зарезервированные слова)
Операторы между словами repeat и until повторяются до тех пор, пока булево выражение является Истинным (True).
Синтаксис
repeat
Оператор;
Оператор;
...
Оператор;
until выражение
Замечания
Последовательность операторов выполнится по крайней мере один раз!
Пример
{ Операторы цикла repeat }
repeat
Ch := GetChar;
until Ch <> ' ';
repeat
Write('Введите значение : ');
ReadLn(I);
until (I >= 0) and (I <= 9);
Ада
Аналогом repeat-until является loop-end-loop со встроенным exit-when:
loop
Get_Immediate (Ch);
exit when Ch /= ' ';
end loop;
loop
Put ("Введите значение : ");
I := Integer'Value (Get_Line);
exit when I in 0 .. 9;
end loop;
Бывает так, что проверку условия нужно делать не в начале цикла и не в конце, а именно где–то посередине:
loop
Put ("Введите значение : ");
I := Integer'Value (Get_Line);
exit when I = 0;
Put_Line ("Результат :" & Integer'Image (I + 1));
end loop;
Выход по нулю или по пустой строке особенно частая ситуация в учебных программах. В Borland Pascal нужно писать цикл while, а операцию считывания дублировать до while и в конце:
{ Это Паскаль }
Write('Введите значение : ');
ReadLn(I);
while I <> 0 do
begin
WriteLn('Результат : ', I + 1);
Write('Введите значение : ');
ReadLn(I);
end;
Либо имитировать оператор языка Ада с помощью if then Break внутри while True do или repeat until False.