9.6.3. циклы
Вычислительные процессы с многократным повторением одно-
типных вычислений/действий для различных значений входящих
величин/данных называются
циклическими, повторяемые участки
вычислений —
циклами, изменяющиеся в цикле величины — пере-
менными цикла. Для организации циклов в алгоритмах необходимо
предусмотреть (рис. 9.15):
подготовку цикла — задание начальных значений переменным
•
цикла перед первым его выполнением;
тело цикла — вычислении/действия, повторяемые в цикле для
•
различных значений переменных цикла;
модификацию/изменение значений переменных цикла перед
•
каждым новым его повторением;
управление циклом — проверку условия продолжения/оконча-
•
ния цикла и переход на повторение цикла или его окончание.
В зависимости от того, где осуществляется проверка условия про-
должения или окончания цикла, последний относят к виду:
Рис. 9.15. Общие схемы (
а, б ) циклического алгоритма
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
+ 2h
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
. В этой ситуации цикл не должен выполняться
ни разу. Поэтому в задаче табулирования функции лучше использо-
вать цикл с предусловием, цикл же с постусловием может дать не-
верный результат. Приведем пример целесообразного использования
цикла с постусловием.
Достарыңызбен бөлісу: |