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

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

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

REPEAT

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

UNTIL <логическое выражение>;.

 

Рисунок 5 – Схема оператора REPEAT

Схема, реализующая оператор цикла REPEAT, является схемой итерационного цикла с постусловием и имеет вид, представленный на рисунке 5.

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

Используем оператор цикла REPEAT для решения примера 2. Тогда схема алгоритма и программа будут иметь следующий вид:

 

 

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

Лекция 2



Дата добавления: 2022-02-05; просмотров: 217;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.