134
цикла с предусловием, когда цикл начинается с
проверки усло-
•
вия продолжения цикла (рис. 9.15,
а);
цикла с постусловием, когда условие проверяется после выпол-
•
нения тела цикла (рис. 9.15,
б ).
Наиболее наглядным примером циклического вычислительного
процесса является задача табулирования функции: вычисления зна-
чений функции
y
=
f(
x) для значений аргумента
x, изменяющихся от
начального
x
0
до конечного
x
n
с
постоянным шагом h
x
(рис. 9.16).
Здесь многократно повторяемые действия (тело цикла) — это вы-
числение значения функции
f(
x)
для очередного значения аргумента
x и вывод полученного результата на печать; переменная цикла —
переменная
x. Цикл выполняется для значений
x, равных
x
0
,
x
0
+
h
x
,
x
0
+ 2
h
x
, …,
x
n
.
Для модификации переменной
x в цикле ее значение надо увели-
чивать на значение шага:
x :
=
x +
h
x
. Для управления циклом можно
использовать структуру цикла как с предусловием, где
x
<
x
n
— усло-
вие продолжения цикла (рис. 9.16,
а), так и с постусловием, где
x
>
x
n
— условие окончания цикла (рис. 9.16,
б).
Алгоритмы табулирования
функции с пред- и постусловием
дают, вообще говоря, одинаковый результат. Но тело цикла с
предусловием в определенной ситуации может не выполниться ни
разу, а тело цикла с
постусловием обязательно выполняется хотя
бы один раз.
Рис. 9.16. Общие схемы (
а,
б) алгоритма табулирования функции
135
Рассмотрим случай, когда нижняя граница
x
0
переменной
x пре-
вышает верхнюю
x
n
. В этой ситуации цикл не должен выполняться
ни разу. Поэтому в
задаче табулирования функции лучше использо-
вать цикл с предусловием, цикл же с
постусловием может дать не-
верный результат. Приведем пример целесообразного использования
цикла с постусловием.
Достарыңызбен бөлісу: