Алгоритмы вычисления суммы и произведения
Часто наряду с вычислением значений величины или совокупности величин необходимо определить сумму или произведение всех значений или некоторых из них.
При суммировании и вычислении произведения целесообразно использовать принцип постепенного накопления: одного значения, двух, трех и т.д. При этом предварительно необходимо задать начальное значение: для суммы — нулевое, а для произведения - единицу.
Пример. Вычислить для Dx=0,1; a=3,8.
Определить количество (k) y<0, и . Вывести значения x, y, k, P, S.
При решении задачи необходимо перебрать все значения x на обозначенном интервале (от xn=-0,5 до xk=2,5 с шагом Dx=0,1) и вычислить соответствующие значения y: всего их будет штук.
Здесь прямые скобки ] [ указывают на то, что берется целая часть от деления. Некоторые значения y будут отрицательными: нужно подсчитать их количество и произведение, а также найти сумму всех 11 значений y.
Блок-схема алгоритма решения этой задачи приведена на рис. 9.
а) б)
Рисунок 9 - Блок-схемы вычисления суммы и произведения.
В этом циклическом алгоритме можно в качестве параметра цикла выбрать переменную x (рис. 9а) или перейти к параметру целого типа i, который изменяется от 1 до 11 (рис. 9б).
Для блок-схемы вида 9а в блоке 3 присваиваются начальные значения величинам k, P, S. Блок 4 организует цикл по переменной x. После этого в блоке 5 вычисляется значение y и в следующем блоке обеспечивается вывод каждой пары значений x и y (блок вывода обязательно должен находиться внутри цикла, так как необходимо зафиксировать все значения x и y, так как при следующем прохождении цикла они получают новые значения). В блоке 7 постепенно накапливается сумма всех значений y, а блоки 8 и 9 обеспечивают накопление произведения отрицательных значений y и подсчет их количества. Блок вывода 10 должен обязательно находиться не внутри цикла, а после его окончания, так как значения k, P, S необходимо вывести один раз, когда они будут окончательно вычислены.
Блок-схема вида 9б отличается тем, что в блоке 4 определяется количество повторений цикла (m) при переходе к новой переменной i целого типа, а также в блоке 3 задается начальное значение переменной x. В блоке 10 обеспечивается ее изменение для следующего прохождения цикла.