Вычисление произведений в цикле
Задача вычисления произведения некоторого количества элементов-сомножителей математически выражается зависимостью
( )
где P – искомое значение произведения;
ci – текущее значение аргумента (сомножителя);
– символ операции умножения;
1, cн – нижняя граница счёта;
n, cк – верхняя граница счёта.
Представим зависимость в развёрнутом виде:
Обозначив искомое произведение P как Pn, а произведение без последнего аргумента как Pn-1, получим Pn = Pn-1 сn.
Повторив рассуждения для вычисления Pn-1 запишем Pn-1 = Pn-2 сn-1.
Аналогично Pn-2 = Pn-3 сn-2
. . .
Pi = Pi-1 сi
. . .
P3 = P2 с3
P2 = P1 с2
P1 = P0 с1
Анализ зависимости P1 = P0 с1 позволяет сделать вывод, что P1 может быть равно аргументу с1 только при P0 = 1.
Таким образом, последовательное накопление произведения предполагает следующую методику вычислений:
· формирование (до начала вычислений) начального значения произведения P0 = 1;
· вычисление текущих значений произведения Pi последовательным умножением предыдущего значения Pi-1 на текущее значение аргумента сi.
Инструмент – смешанный вычислительный процесс (циклический с фрагментами линейного). Предложенная методика последовательного получения произведения является универсальной и может использоваться в циклических процессах любых классов и типов.
Выполнив подстановку полученных зависимостей в исходную формулу, получим:
Pn = (((. . .(P0 с1) с2) с3) ... сi-1) сi) ... сn-1) сn
Формирование произведения предполагает один из вариантов реализации:
· массивом для хранения всех текущих значений Pi;
· двумя промежуточными переменными (Pi и Pi-1);
· одной текущей переменной Pi.
Массив используют при необходимости долговременного хранения каждого из вычисляемых промежуточных значений произведения. При этом в оптимальном варианте размер создаваемого массива на единицу больше перемножаемого P(n+1) за счёт дополнительного элемента P0.
Две промежуточные переменные применяют при желании на каждом шаге вычислений контролировать только смежные значения произведения – текущее (Pi) и предыдущее (Pi-1), например, для оценки их различий. Этот вариант предполагает до следующего умножения обязательную операцию переприсваивания полученного значения предыдущему Pi-1 = Pi, без чего накопление произведения невозможно.
Одна переменная для организации произведения эффективна при отсутствии любых дополнительных требований, кроме получаемого результата. При этом она используется как хранилище каждого из текущих значений произведения, начиная с единицы (P = 1), и, заканчивая искомым ( ).
Используем изложенную методику для решения конкретной задачи (8.4) о выходных сигналах электронной системы.
Постановка задачи
На электронную систему подаются дискретные входные сигналы, изменяющиеся в диапазоне от 3,7 мВ до 8,1 мВ с шагом 0,3 мВ. Коэффициент усиления системы равен 1,5. Рассчитать текущие значения выходных сигналов и их произведение.