Циклические алгоритмы

 

В циклическом алгоритме некоторые операции выполняются многократно. Циклический алгоритм одновременно является и разветвляющимся. Пример: вычислить сумму из n слагаемых, если i-е по порядку слагаемое определяется выражением:

yi(x) = (x + i) / (i + 1), т.е.

y = (x +1) / 2 + (x + 2) / 3 + … + (x + n) / (n + 1)

Эту сумму можно вычислить, предусмотрев в алгоритме для каждого слагаемого свой вычислительный блок типа "процесс". Однако при большом n этот путь чрезвычайно нерационален. А другой путь, основанный на том факте, что каждое слагаемое рассматриваемой суммы y рас-падается на n этапов, на каждом из которых выполняются одни и те же действия. При этом на i-м этапе вычисляется i-е по порядку слагаемое и сумма yi первых i слагаемых. Только эти действия для i-го слагаемого и i-й суммы дополненные операциями по изменению и проверке значения номера i и составляют содер-жание циклического алгоритма. При за-писи алгоритма опускаются индексы, отмечающие предыдущие и последую- щие значения y и i, то есть пишут: y = y + u и i = i + 1.

Переменную принято называть счетчиком или параметром цикла.