Переменная "proizv" - это произведение, а "summa" - сумма. Я сделал так, чтобы выводились все эти 20 нечётных чисел, для удобства, но если не надо, то просто стирайте всю строку №14 (начиная считать от "program asd_;"). program asd_; uses crt; var i, b, summa : integer; proizv : real; a : array [1..20] of integer; BEGIN clrscr; b:=1; summa:=0; proizv:=1; for i:=1 to 20 do begin a[i]:=b; b:=b+2; writeln(a[i]); end; for i:=1 to 20 do summa:=summa+a[i]; for i:=1 to 20 do proizv:=proizv*a[i]; writeln('summa=',summa); writeln('proizvedenie=',proizv); END.
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.
program asd_;
uses crt;
var i, b, summa : integer;
proizv : real;
a : array [1..20] of integer;
BEGIN
clrscr;
b:=1;
summa:=0;
proizv:=1;
for i:=1 to 20 do begin
a[i]:=b;
b:=b+2;
writeln(a[i]);
end;
for i:=1 to 20 do summa:=summa+a[i];
for i:=1 to 20 do proizv:=proizv*a[i];
writeln('summa=',summa);
writeln('proizvedenie=',proizv);
END.