Function f(n: integer): integer; begin if n> 2 then f: =f(n-1)+g(n-2); else f: =n+1; end; function g(n: integer): integer; begin if n> 2 then g: =g(n-1)+f(n-2); else g: =n; end; чему будет равно значение, вычисленное при выполнении вызова g(7)?
Чтобы заработал этот код надо добавить первой строкой: function G(n:integer):integer;forward; Так как в функции F присутствует вызов функции G, которая описана далее в программе.
function G(n: integer): integer; forward; function F(n: integer): integer; begin if n > 2 then F := F(n - 1) + G(n - 2) else F := 1; end;
function G(n: integer): integer; begin if n > 2 then G := G(n - 1) + F(n - 2) else G := 1; end;
function G(n:integer):integer;forward;
Так как в функции F присутствует вызов функции G, которая описана далее в программе.
function G(n: integer): integer; forward;
function F(n: integer): integer;
begin
if n > 2 then
F := F(n - 1) + G(n - 2)
else
F := 1;
end;
function G(n: integer): integer;
begin
if n > 2 then
G := G(n - 1) + F(n - 2)
else
G := 1;
end;
begin
writeln(F(7));
end.
ответ: 13