PascalABC.NET 3.4.2, сборка 1827 от 08.10.2018
Внимание! Если программа не работает, обновите версию!
begin
var a := ArrRandom(ReadInteger('n='), -50, 50);
a.Println;
Writeln('Сумма отрицательных чисел равна ', a.Where(t -> t < 0).Sum);
Writeln('Сумма положительных чисел равна ', a.Where(t -> t > 0).Sum);
Write('Максимальное по модулю число ');
var (m1, m2) := (a.Min, a.Max);
if Abs(m1) > Abs(m2) then m1.Println
else m2.Println
end.