Оператор WHILE

 

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

 

СИНТАКСИЧЕСКАЯ ДИАГРАММА

Логическое выражение, стоящее после WHILE, называется условием возобновления цикла и должно иметь булевский тип. Оператор, следующий за DO, является телом цикла. Он повторяется до тех пор, пока истинно условие возобновления цикла. Как только условие возобновления цикла становится ложным, управление переходит к оператору, стоящему за WHILE. Если условие возобновления не удовлетворяется до начала выполнения цикла, то тело цикла пропускается.

Из указанного описания видно, что оператор WHILE реализует базовую структуру "цикл - пока", т.к. здесь проверка условия идет до тела цикла. Поэтому оператор WHILE называют оператором цикла с предусловием.


 

 

 


Блок-схема оператора WHILE

 

Пример. Даны числа A, B (A>1). Получить все степени числа A, меньшие числа B

 

program STEPENI;

var A,B,C: real;

begin

readln(A,B); C:=A;

while C<B do

begin

writeln(C);

C := C*A;

end;

end.

 

 

ЗАМЕЧАНИЕ. Грамотное использование оператора WHILE предполагает умение правильно написать условие возобновления цикла. Здесь надо иметь в виду следующие рекомендации:

1. в условии, как в логическом выражении, должны обязательно фигурировать переменные, изменяющие свои значения в теле цикла;

2. во избежание зацикливания лучше сначала написать условие прекращения цикла и взять потом в операторе его отрицание;

3. переменные логического выражения должны получить свои исходные значения до входа в оператор WHILE.