var
d : array of integer;
n : integer;
function arrSumRec(d : array of integer; n : integer) : integer;
begin
if n > d.Length-1 then exit;
result := d[n]+arrSumrec(d, n+1);
n += 1;
end;
begin
write('введите количество элементов для массива ');
readln(n);
d := new integer[n];
d := arrRandom(n, 1, 100);
writeln('сгенерирован массив из ', n, ' элементов со значениями в диапозоне 1..100');
writeln(d);
writeln('Сумма = ', arrSumRec(d, 0));
end.
функция function arrSumRec(d : array of integer; n : integer) : integer; в качестве первого параметра получает массив сумму которого считаем в качестве второго номер члена начиная с которого считаем сумму. Не забываем что нумерация начинается с нуля. поэтому чтобы посчитать сумму всех членов массива в качестве второго параметра указываем 0.
var
a : array [1..9] integer;
i : integer;
begin
for i := 1 to 9 do
if i mod 3 = 1 then a[i] := i
else if i mod 3 = 2 then a[i] := sqr (i - 1)
else a[i] := a[i - 1] div i;
for i := 1 to 9 do
write (a[i], ' ');
end.
var
b, a : array [1..15] of integer;
i, sa, sb : integer;
begin
randomize;
sa := 0; sb := 0;
for i := 1 to 15 do
begin
a[i] := trunc (random (100)) + 1;
write (a[i], ' ');
sa := sa + a[i];
end;
writeln;
for i := 1 to 15 do
begin
b[i] := sqr (a[i]) - a[i]);
write (b[i], ' ');
sb := sb + b[i];
end;
writeln;
writeln (abs (sb - sa));
end.