Оператор 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.