Большинство задач, решаемых в инженерной практике, имеют циклическую структуру. Циклический вычислительный процесс – это процесс, в котором предусмотрено неоднократное выполнение одной и той же последовательности действий при различных значениях входящих в них величин.
Многократно повторяющиеся участки называют циклами. Циклическая структура позволяет существенно сократить объём алгоритма и программы. Переменная алгоритма, которая при каждом выполнении цикла принимает новое значение, называется параметром цикла.
Для организации цикла необходимо: задать начальное значение параметра цикла; задать изменение значения параметра перед каждым новым повторением цикла и проверку условий окончания повторений и переход к началу цикла, если повторения не окончены.
Рис. 3. Схема вычисления Z=max(A,B,C). Способ с использованием промежуточной переменной.
Существуют различные типы циклов. Тип определяется по способу контроля окончания. Для инженерных задач наиболее характерен тип арифметической прогрессии. В этих циклах параметр изменяется от заданного начального до заданного конечного значения, получая при каждом выполнении цикла постоянное приращение (цикл с известным числом итераций).
Если в цикле изменяется простая переменная, то параметром цикла является эта переменная. Для переменных с индексом (массивов) параметром цикла является индекс переменной.
В контрольном задании №3 представлены задачи циклической структуры типа арифметической прогрессии.
Рассмотрим наиболее типичные алгоритмы циклической структуры.
Пример 4. Задан массив по имени А, состоящий из 20 элементов, Ai , i=1,..,20. Составить схему вычисления суммы и произведения элементов этого массива.
При вычислении суммы используется приём накопления – новое слагаемое прибавляется к сумме предыдущих. При выполнении при каждом цикле нужно накапливать сумму, прибавляя очередное слагаемое к этой сумме. Для этого необходимо перед циклом задать начальное значение суммы равное 0. В данном примере параметром цикла будет индекс i, который изменяется от 1 до 20 с шагом равным 1.
Тот же приём используется и при накоплении произведения. В алгоритмических языках Фортран и Бейсик, если переменная не определена, то ей присваивается значение 0, следовательно, произведение значений функции вычисляться не будет, поэтому перед циклом задаётся начальное значение произведения, равное 1. Внутри цикла вычисляется очередной сомножитель и умножается на произведение.
В соответствии со смыслом описываемых величин выбираем имя переменных: для суммы – S, произведения – P.
Схема вычисления будет состоять из следующих символов действий.
1. Начало.
2. Вводмассива Ai, i=1,..,20.
3. Процесс. Переменным S и P задаются начальные значения S=0, P=1.
4. Начало цикла. Указывается параметры цикла: начальное и конечное значение параметра i и шаг цикла, равный 1.
5. Процесс. Происходит накопление суммы S и произведения P.
S=S+Ai
P=P*Ai
6. Конец цикла по параметру i. Цикл, т.е. вычисление S и P выполняется до тех пор, пока параметр i меньше или равен конечному значению. Как только параметр будет больше конечного значения, то цикл заканчивается и следующим будет выполняться печать результатов.
7. Документ, который выводит на печать вычисленные сумму S и произведение P.