Существует класс задач, в которых индекс массива используется для формализации вычислительного процесса путем сведения исходных формул к конечным суммам и произведениям. Преобразованные таким образом формулы программируются с помощью арифметических циклов. При обращении к элементам массива в качестве индексов можно использовать выражения перечисляемого типа.
Пример 30. Дана последовательность вещественных чисел X1, Х2, X3,..., Х24. Требуется вычислить U = X1 • Х2 • Х3 • X4 + X4 • Х6 • Х7 • Х8 + ... + Х21 • Х22 • X23 • Х24
Для программирования необходимо линейную формулу U преобразовать к следующему виду:
Нетрудно заметить, что задача сведена к двойному арифметическому циклу. Для накопления суммы по I используется переменная U, исходное состояние которой равно 0. Для накопления произведения используется рабочая переменная Р, которая рассчитывается шесть раз для значений индекса I=1,2,…,6. Вы можете скачать realtek hd, новую версию драйверов, которая подойдет для Windows 8.1. Для накопления произведения начальное значение J принимается равным 1.
PROGRAM PR30;
VAR
X: ARRAY [1.. 24] OF REAL;
I, J: INTEGER;
U, P: REAL;
BEGIN
WRITELN('Введите массив X, из 24 вещественных чисел');
FOR I := 1 ТО 24 DO READ(X[I]);
U := 0;
FOR I := 1 TO 6
DO BEGIN
P := 1;
FOR J := 1 TO 4
DO P:=P*X[4*(I-1)+J];
U := U + P
END;
WRITELN('U =', U:10:2)
END.
Предыдущая статья: Инициализация одномерного массива.
Оглавление: Лекции по Pascal.
Следующая статья: Поиск минимального и максимального элементов массива.