Задана последовательность положительных чисел, за которой следует отрицательное число. Написать рекурсивную функцию, без параметров для нахождения суммы положительных чисел- Pascal(Паскаль)

program Project1;
 
const
  N = 10;
type
  TArr = array[1..N] of Integer;
 
function CalcSum(const aArr : TArr; const aI : Integer) : Integer;
begin
  CalcSum := 0;
  if aArr[aI] > 0 then
    CalcSum := aArr[aI] + CalcSum(aArr, aI + 1)
  ;
end;
 
var
  Arr : TArr;
  i, Sum : Integer;
begin
  Writeln('Элементы массива:');
  for i := 1 to N - 1 do begin
    Arr[i] := i;
    if i > 1 then Write(', ');
    Write(Arr[i]);
  end;
  Arr[N] := -1;
  Write(', ', Arr[N]);
  Writeln;
 
  Sum := CalcSum(Arr, 1);
  Writeln('Сумма положительных чисел:');
  Writeln(Sum);
 
  Readln;
end.

Leave a Comment

+ 4 = 8