Циклическими называются алгоритмы, содержащие циклы. Цикл – это многократно повторяемый участок алгоритма.
В организации цикла можно выделить следующие этапы (рис. 4):
– подготовка (инициализация) цикла (И);
– выполнение вычислений цикла (тело цикла) (Т);
– модификация параметров (М);
– проверка условия окончания цикла (У);
– продолжение (П).
На этапе инициализации присваиваются начальные значения переменной цикла Х, тем самым обеспечивается выполнение тела цикла на первом цикле.
Тело цикла в общем случае может содержать любое количество операций (в частности, может вообще отсутствовать).
Рисунок 4 – Последовательность этапов цикла: а – с нижним окончанием, б – с верхним окончанием. |
На этапе модификации параметров в случае, если существует закономерность изменения значений переменной цикла, а также если эти значения используются строго последовательно, то к текущему значению переменной цикла прибавляется шаг ΔХ с учетом знака, т.е. Х = Х + ΔХ.
Если не существует никакой закономерности изменения значений переменной цикла, то эти значения могут храниться в одномерном массиве в виде X(i). В этом случае в качестве переменной цикла будет выступать i, модификация которой будет также производиться путем изменения ее значения на единицу, т.е. i = i + 1.
|
|
Проверка условия окончания цикла чаще всего предполагает сравнение текущего значения переменной цикла с ее конечным значением. В общем случае условие окончания цикла может быть явно не связано ни со значением переменной цикла, ни с ее конечным значением.
Порядок выполнения этапов, например, Т и М, может изменяться. В зависимости от расположения проверки условия окончания цикла различают циклы с нижним и верхним окончаниями. Для цикла с нижним окончанием (рис. 4,а) тело цикла выполняется как минимум один раз, так как сначала производятся вычисления, а затем проверяется условие выхода из цикла. В случае цикла с верхним окончанием (рис. 4,б) тело цикла может не выполниться ни разу в случае, если сразу соблюдается условие выхода.
После выхода из цикла алгоритм переходит на этап продолжения программы (этап П на рис. 4).
Особенности алгоритмов и программ с накапливанием
Вычисление суммы (рис. 5,а) и произведения нескольких чисел, а также подсчет количества (рис. 5,б) в большинстве языков программирования выполняется постепенно, путем накапливания.
1. Сумма вычисляется по формуле:
сумма = сумма + слагаемое.
Перед вычислениями начальному значению суммы нужно присвоить значение «ноль».
2. Произведение вычисляется по формуле
произведение = произведение × сомножитель.
Перед вычислениями начальному значению произведения нужно присвоить значение единицы.
3. Подсчет количества выполняется по формуле, подобной формуле для вычисления суммы:
количество = количество + 1.
Начальному значению количества присваивается значение «ноль».