Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






СУММИРОВАНИЕ И ПЕРЕМНОЖЕНИЕ ЭЛЕМЕНТОВ МАССИВОВ




Рассмотрим задачу нахождения суммы и произведения всех элементов некоторого одномерного массива X т.е. пусть дано

X1,X2,... Xk,... Xn

и требуется вычислить:

S = X1 + X2 +... + Xk +...+ Xn;

P = X1 * X2 *... * Xk *...* Xn.

Из математической формулировки задачи вытекает и алгоритм вычисления суммы: присваиваем сумме значение первого слагаемого, а затем наращиваем эту величину последовательным прибавлением к ней каждого очередного слагаемого, начиная со второго и кончая последним. Делать это следует, разумеется, в цикле. Таким образом сумма может быть вычислена фрагментом из двух операторов:

S:= X[1];

for k:= 2 to n do S:= S + x[k];

Аналогично вычисляется и произведение:

P:= x[1];

for k:= 2 to n do P:= P * x[k];

Во многих случаях, однако, более удобно начинать вычисление суммы и произведения с присвоения им первоначально, соответственно нулевого и единичного значений, после чего наращивание суммы и произведения начинать с первого элемента массива, т.е. одновременное вычисление величин S и P может быть в данном случае выполнено и так:

S:=0;P:=1;

for k:=1 to n do

Begin

S:= S + x[k];

P:= P * x[k];

end;

При суммировании и перемножении элементов двумерных массивов – матриц требуется перебирать все элементы по рядам: либо по строкам и в каждой строке по столбцам, либо по столбцам и в каждом столбце по строкам. Например вычислить сумму и произведение всех элементов матрицы A размером m * n (см. пример 2.9) можно с помощью следующих операторов:

S:=0; P:=1;

for i:=1 to m do

Begin

for j:=1 to n do

Begin

S:= S + a[i,j];

P:= P * a[i,j];

end;

end;

Результат не изменится, если в данном фрагменте операторы циклов по i и j поменять местами.

Рассмотрим еще одну задачу, довольно часто встречающуюся в работе с массивами. Пусть дано два одинаковых по размеру массива X и Y (i=1,2,...n). Требуется вычислить величину

SP = x1 y1 + x2 y2 +... + xi yi +... + xn yn.

Отметим, что такая сумма – сумма попарных произведений одноименных элементов двух массивов (векторов) называется скалярным произведением этих массивов. Вычисление этого произведения может быть выполнено так:

SP:= 0;

for i:=1 to n do SP:= SP + x[i]*y[i];






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных