Оператор цикла WHILE

Операторы WHILEи REPEAT используются для программирования итерационных циклов, т. е. если необходимо произвести некоторые повторяющиеся вычисления, но число повторов заранее неизвестно, а также для программирования детерминированных циклов, если шаг изменения параметра цикла отличен от 1 и –1.

 

Общий вид оператора WHILE:

WHILE <логическое выражение> DO <оператор цикла>;

или

WHILE <логическое выражение> DO BEGIN

<блок операторов цикла>;

END;.

Схема, реализующая оператор WHILE , является схемой итерационного цикла с предусловием и имеет следующий вид (рисунок 3):

 

 

Рисунок 3 – Схема оператора цикла WHILE

 

 

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

 

Пример 2 Вычислить и вывести на печать все значения аргумента xи функции y = x2+ 1/x, при изменении x от 5 до 20 с шагом 0,25. Найти количество полученных значений y.

Рисунок 4 – Схема алгоритма решения примера 2 PROGRAM PRIMER2; VAR K: INTEGER; X,Y: REAL; BEGIN K:=0; X:=5; WHILE X<=20 DO BEGIN Y:=X*X+1/X; WRITELN (X:6:2,Y:12:6); K:=K+1; X:=X+0.25; END; WRITELN (‘КОЛИЧЕСТВО=’, K:3); END.