Чтобы программа считала сумму произведений элементов массива, измените блок обработки так, чтобы он вычислял произведение всех элементов, и затем суммируйте их. В вашем коде происходит просто суммирование элементов массива. Вам нужно немного изменить структуру цикла.
Вот пример того, как это можно сделать:
program n_3;
const
n = 15;
var
i, j: integer;
a: array [1..n] of integer;
sum: integer;
begin
randomize;
for i := 1 to n do
begin
a[i] := random(100) + 50;
write('a[', i, ']=', a[i], ' ');
end;
writeln;
sum := 0;
for i := 1 to n do
begin
for j := 1 to n do
begin
sum := sum + (a[i] * a[j]);
end;
end;
write('Sum of products: ', sum);
end.
Обратите внимание, что внутренний цикл for j := 1 to n используется для произведения каждого элемента a[i] на каждый другой элемент a[j] и последующего добавления к sum.