1. Короткое современное решение
// 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= 1064.006 47.819 87.225 6.856 32.112 93.963 11.053 50.93 18.959 14.785П=871460676775803Max=93.9632. А так (примерно) учат в большинстве школ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.