IPB

> repeat...until (зарезервированные слова)
Чат
Форум
Загрузка...
 

Язык:
Русский
English

Цикл с постусловием


Операторы между словами 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.

См. также

Лекция №3.3: Ветвления. Массивы. Циклы

 
 К началу страницы 
Тэги: repeat until
 

Код для вставки: :: :: :: ГОСТ ::
Поделиться: //
 



-
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"