Операторы итерационных циклов

 

Формат оператора итерационного цикла с предусловием:

 

WHILE <усл> DO ( S1; S2; ... ; Sn );

где

- WHILE - первое ключевое слово, в переводе означает "пока";

- <усл> - условие естественного окончания цикла, записанное в виде логического выражения или операции отношения;

- DO - второе ключевое слово, в переводе означает "выполняем";

- (S1;S2;...;Sn) - составной оператор, тело цикла.

Оператор работает следующим образом: до начала исполнения операторов тела цикла происходит проверка условия выполнения цикла (отсюда взято название цикла- "с предварительной проверкой условия"). Если оно не нарушено, тело цикла исполняется. Но может быть, что при неправильном составлении программы, <усл> не выполняется сразу, следовательно, тело цикла тоже ни разу не будет выполнено. Работа продолжается, пока выполняется <усл>.

Формат оператора итерационного цикла с постусловием:

 

REPEAT S1; S2; ... ; Sn UNTIL <усл>;

где

- REPEAT - первое ключевое слово, в переводе означает "повторять";

- S1; S2; ... ; Sn - составной оператор, тело цикла. В этом составном операторе слова BEGIN ... END не нужны, поскольку считается, что слова REPEAT ...UNTIL сами являются операторными скобками;

- UNTIL - второе ключевое слово, в переводе означает "до тех пор, пока";

- <усл> - условие естественного окончания цикла, записанное в виде логического выражения или операции отношения.

Оператор работает следующим образом: после первого выполнения операторов тела цикла происходит проверка условия окончания цикла (отсюда взято название цикла-" с последующей проверкой условия"). Если оно не выполняется, управление передаётся на начало цикла и работа продолжается до выполнения <усл>.

При всей несхожести этих операторов они выдвигают одни и те же требования к организации вычислительного процесса:

- перед началом работы цикла управляющая переменная должна получить нужное начальное значение;

- условие естественного окончания цикла - " <усл> " - необходимо составить таким образом, чтобы оно обеспечивало многократное его повторение;

- внутри цикла должен находиться оператор, изменяющий значения переменной цикла так, что рано или поздно <усл> выхода из цикла будет достигнуто.


 

       
   
 

 


нет

       
 
   
 

 


да

Тело цикла
нет

       
   
 
 

 


да

 

а) цикл WHILE-DO ; б) цикл REPEAT-UNTIL