Циклические алгоритмы. Обработка последовательностей и одномерных массивов. Циклом называется фрагмент алгоритма или программы, который может повторяться несколько раз (в том числе и нуль раз). Каждая циклическая конструкция начинается заголовком цикла и заканчивается конечным оператором. Между ними располагаются операторы, называемые «телом цикла». Количество повторений выполнения команд (операторов), составляющих тело цикла, определяется условием окончания цикла. Условием окончания может быть достижение некоторого значения специальной переменной, называемой параметром цикла (переменной цикла), или выполнение (прекращение выполнения) некоторого условия.
Для организации циклов с параметром в языках программирования используется составной оператор FOR («для»), а в циклах с условием чаще всего используется составной оператор WHILE («пока»).
В случае цикла с параметром количество повторений («оборотов») цикла известно заранее и задаётся специальным выражением в заголовке цикла, а в случае цикла с условием при каждом следующем повторении требуется проверять условие прекращения цикла. Если при написании операторов в теле цикла допущена ошибка, условие прекращения цикла может не выполниться никогда и цикл окажется бесконечным («программа зациклится»).
Пример блоксхемы цикла с параметром (переменной) показана на рис. 9, а пример блоксхемы цикла с условием окончания — на рис. 10. (Для обозначения заголовка цикла с параметром используется специальный графический элемент — блок модификации, в котором указывается закон изменения параметра цикла).
Рисунок 9. Пример блоксхемы цикла с параметром
Для работы с одномерными массивами целесообразно использовать циклы с параметром, поскольку до начала цикла может определено количество повторений. В этом случае цикл с параметром требуется для ввода элементов массива, а для выполнения какихто действий с этими элементами и вывода результатов также могут потребоваться циклы.
Рисунок 10. Пример блоксхемы цикла с условием
В блоксхеме на рис. 10 действия повторяются, пока выполняется некоторое условие. Когда условие перестаёт выполняться, цикл завершается.
Такие циклы целесообразно использовать в ситуации, когда данные вводятся (поступают из какогото источника), пока не произойдёт некоторое событие. При этом всю обработку чаще всего приходится выполнять «на лету», не создавая массив, поскольку количество элементов заранее неизвестно.
Рассмотрим типичные задачи. решение которых требует циклических вычислений.
Задача 1. Дан одномерный массив А числовых значений, насчитывающий N элементов. Найти среднее арифметическое элементов массива. Постановка задачи: Дано:
N – количество элементов в массиве; i индекс элемента массива (параметр цикла). A[i] – элемент массива; Найти:
S– сумма элементов массива
С – среднее арифметическое элементов массива, C=S/N.
Блоксхема алгоритма показана на рис. 11.