Пожалуйста, добавляйте подобные задания в раздел Информатика. Там оно найдет решение гораздо быстрее.
uses crt;
var a:array[1..100] of integer;
n,i,p,q,pr,w,s:integer;
begin
clrscr;
randomize;
pr:=1; w:=1;
write('p='); read(p);
write('q='); read(q);
write('n='); read(n);
clrscr;
writeln('Исходный массив: ');
for n:=1 to n do
begin
a[n]:=random(100)-50;
s:=s+a[n];
write(a[n],' ');
end;
w:=2*sqr(s);
writeln;
writeln('Новый массив:');
for n:=1 to n do
begin
if (abs(a[n]) mod p =0) and (a[n]<>0) then pr:=pr*a[n];
if (a[n] mod p=q)then a[n]:=0;
write(a[n],' ');
end;
writeln;
writeln('Значение выражения: ',w);
write('Произведение элементов массива, кратных ',p,': ',pr);
end.