program cikli;
unit math;
var
i,n,s,p:integer;
a:array[1..20]of integer;
begin
writeln('Исходный массив: ');
for i:=1 to 20 do begin
a[i]:=RandomRange(1,20);
writeln(' Элемент ',i,' = ',a[i]);
end;
writeln('Сумму и произведения скольки первых чисел вы хотите посчитать? ');
readln(n);
s:=0;p:=1;
//цикл с параметром
For i:=1 to n do begin
s:=s+a[i];
p:=p*a[i];
end;
writeln('Цикл с параметром');
writeln('Сумма первых ',n,' чисел = ',s);
writeln('Произведения первых ',n,'чисел = ',p);
//цикл с предусловием
i:=1;p:=1;s:=0;
while i<>n do begin
s:=s+a[i];
p:=p*a[i];
i:=i+1;
end;
writeln('Цикл с предусловием');
writeln('Сумма первых ',n,' чисел = ',s);
writeln('Произведения первых ',n,'чисел = ',p);
//цикл с постусловием
i:=0;s:=0;p:=1;
repeat
i:=i+1;
s:=s+a[i];
p:=p*a[i];
until i=n;
writeln('Цикл с постусловием');
writeln('Сумма первых ',n,' чисел = ',s);
writeln('Произведения первых ',n,'чисел = ',p);
End.