var a: array[1..100] of real; i, n: integer; sum: real;
begin {ввод массива} if handsfree then n := random(20) + 5 else begin write('n = '); readln(n); end;
writeln('Данные массива:'); for i := 1 to n do begin if handsfree then begin a[i] := random(100) - 50; write(a[i], ' '); end else readln(a[i]); end; writeln();
{подсчет суммы и произведения и агригатов} sum := 0; for i := 1 to n do if a[i] < 0 then {если нужен фильтр} sum := sum + a[i]; writeln('sum = ', sum); end.
// PascalABC.NET 3.2, сборка 1362 от 14.12.2016 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('n='); var a:=SeqRandom(n,1000, 100000); var b:=a.Select(x->x/1000).ToArray; b.Println; Writeln('П=',b.Aggregate(1.0,(p,q)->p*q)); Writeln('Max=',b.Max) end.
const nn=1000; // предел для кол-ва элементов var n,i:integer; a:array[1..nn] of real; max,p:real; begin Write('n='); Read(n); p:=1; max:=0; // меньше меньшего for i:=1 to n do begin a[i]:=(Random(99001)+1)/1000; Write(a[i],' '); p:=p*a[i]; if a[i]>max then max:=a[i] end; Writeln; Writeln('П=',p); Writeln('Max=',max) end.
handsfree = true;
var
a: array[1..100] of real;
i, n: integer;
sum: real;
begin
{ввод массива}
if handsfree then
n := random(20) + 5
else begin
write('n = ');
readln(n);
end;
writeln('Данные массива:');
for i := 1 to n do
begin
if handsfree then begin
a[i] := random(100) - 50;
write(a[i], ' ');
end
else readln(a[i]);
end;
writeln();
{подсчет суммы и произведения и агригатов}
sum := 0;
for i := 1 to n do
if a[i] < 0 then {если нужен фильтр}
sum := sum + a[i];
writeln('sum = ', sum);
end.
// PascalABC.NET 3.2, сборка 1362 от 14.12.2016
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('n=');
var a:=SeqRandom(n,1000, 100000);
var b:=a.Select(x->x/1000).ToArray; b.Println;
Writeln('П=',b.Aggregate(1.0,(p,q)->p*q));
Writeln('Max=',b.Max)
end.
Пример
n= 10
64.006 47.819 87.225 6.856 32.112 93.963 11.053 50.93 18.959 14.785
П=871460676775803
Max=93.963
2. А так (примерно) учат в большинстве школ
const
nn=1000; // предел для кол-ва элементов
var
n,i:integer;
a:array[1..nn] of real;
max,p:real;
begin
Write('n='); Read(n);
p:=1;
max:=0; // меньше меньшего
for i:=1 to n do
begin
a[i]:=(Random(99001)+1)/1000;
Write(a[i],' ');
p:=p*a[i];
if a[i]>max then max:=a[i]
end;
Writeln;
Writeln('П=',p);
Writeln('Max=',max)
end.