1. Современное решение
// PascalABC.NET 3.2, сборка 1356 от 04.12.2016// Внимание! Если программа не работает, обновите версию!begin var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println; Writeln('Среднее положительных ',a.Where(x->x>0).Average); Writeln('Минимум ',a.Min)end.
Примерn= 1535 27 -7 -1 20 13 6 50 -9 23 -38 46 30 27 14Среднее положительных 26.4545454545455Минимум -382. Школьный вариант на древних версияхprogram Ex1;const nn=100; { ограничение на длину массива }var i,n,s,k:integer; a:array[1..nn] of integer;begin Randomize; Write('n='); Read(n); k:=0; for i:=1 to n do begin a[i]:=Random(101)-50; Write(a[i],' '); if a[i]>0 then begin k:=k+1; s:=s+a[i] end end; Writeln; Writeln('Среднее положительных ',s/k) end.program Ex2;const nn=100; { ограничение на длину массива }var i,n,min:integer; a:array[1..nn] of integer;begin Randomize; Write('n='); Read(n); min:=100; { больше максимально возможного } for i:=1 to n do begin a[i]:=Random(101)-50; Write(a[i],' '); if a[i]<min then min:=a[i] end; Writeln; Writeln('Минимум ',min)end.
Выводы о том, чему и как учат в школе, делайте самостоятельно...