// PascalABC.NET
begin
// 1
var s11 := SeqRandom(100, 10, 99).Sum;
var s12 := ArrRandom(100, 10, 99).Sum;
case Sign(s11 - s12) of
-1: Println('Сумма второго массива больше');
0: Println('Суммы равны');
else
Println('Сумма первого массива больше')
end;
// 2
var s21 := SeqRandom(1000, -9, 9).Sum;
var s22 := ArrRandom(1000, -9, 9).Sum;
var s23 := ArrRandom(1000, -9, 9).Sum;
if s21 > s22 then
Swap(s21, s22);
if s22 > s23 then
begin
Swap(s22, s23);
if s21 > s22 then
Swap(s21, s22)
end;
Println(s21, s22, s23);
// 3
var a := ArrRandom(50, -99, 99);
a.Println;
var s31 := a.Where(p -> p > 30);
Print('Количество', s31.Count, ' сумма', s31.Sum)
end.
type arr=array[1..k] of integer;
procedure p1(var x:arr);
var i:integer;
begin
for i:=1 to k do
begin
x[i]:=random(30)-15;
write(x[i]:3);
end;
writeln;
end;
function f1(var x:arr):integer;
var i,s:integer;
begin
s:=0;
for i:=1 to k do
if x[i]<0 then s:=s+x[i]*x[i];
f1:=s;
end;
var a,b:arr; m,n:integer; x:real;
begin
writeln('a:');
p1(a);
writeln('b:');
p1(b);
m:=f1(a);
n:=f1(b);
writeln('m = ',m,' n = ',n);
x:=m/(n-m);
writeln('x = ',x:6:4);
end.
Пример:
a:
-13 7-11 11 -3 4 13 3 -1 2
b:
8 -2 5 10 9 8 -8 12 7-13
m = 300 n = 237
x = -4.7619