Урок 16. Задача 3.

Урок 16. Задача 3.

Есть функция, которая считает сумму четырех чисел:

function sum4(a, b, c, d: integer): integer;
begin
  result := a + b + c + d;
end;

Реализуйте обертку над sum4(), которая делает то же самое, но имеет сигнатуру вида:

type ar = array[1..2, 1..2] of integer;
 
function searchRes2(a1:ar): integer;

type ar = array[1..2, 1..2] of integer;
var a, b, c, d: integer;
    A_1: ar = ((2, 8), (7, 5));

function sum4(a, b, c, d: integer): integer;
begin
  result := a + b + c + d;
end;

function searchRes2(a1: ar): integer;
begin
  a := a1[1][1];
  b := a1[1][2];
  c := a1[2][1];
  d := a1[2][2];
  result := sum4(a, b, c, d);
end;

begin
  writeln(searchRes2(A_1));
  readln();
end. 
vedro-compota's picture

function searchRes2(a1: ar): integer;
begin
  a := a1[1][1];
  b := a1[1][2];
  c := a1[2][1];
  d := a1[2][2];
  result := sum4(a, b, c, d);
end;
  • 1) Переменные не нужны - можно передавать значения сразу
  • 2) Функция не должна зависеть от глобальных переменных

_____________
матфак вгу и остальная классика =)

type ar = array[1..2, 1..2] of integer;
var a, b, c, d: integer;
    A_1: ar = ((2, 8), (7, 5));

function sum4(a, b, c, d: integer): integer;
begin
  result := a + b + c + d;
end;

function searchRes2(a1: ar): integer;
begin
  result := sum4(a1[1][1], a1[1][2], a1[2][1], a1[2][2]);
end;

begin
  writeln(searchRes2(A_1));
  readln();
end.