Помогите с информатикой, задание на фото

Помогите с информатикой, задание на фото
Гость
Ответ(ы) на вопрос:
Гость
Для решения задачи написана программа, в которую вставлены операторы вывода с целью трассировки. // PascalABC.NET 3.1, сборка 1192 от 07.03.2016 function G(n:integer):integer; forward; function F(n:integer):integer; begin   Writeln('Вход в F(',n,')');   if n=1 then Result:=1   else Result:=F(n-1)-G(n-1);   Writeln('Выход из F(',n,') со значением ',Result) end; function G(n:integer):integer; begin   Writeln('Вход в G(',n,')');   if n=1 then Result:=1   else Result:=F(n-1)+G(n-1);   Writeln('Выход из G(',n,') со значением ',Result) end; begin   Writeln('РЕЗУЛЬТАТ: ',F(5)/G(5))  end. Результат выполнения программы (трассировочная таблица) Вход в F(5) Вход в F(4) Вход в F(3) Вход в F(2) Вход в F(1) Выход из F(1) со значением 1 Вход в G(1) Выход из G(1) со значением 1 Выход из F(2) со значением 0 Вход в G(2) Вход в F(1) Выход из F(1) со значением 1 Вход в G(1) Выход из G(1) со значением 1 Выход из G(2) со значением 2 Выход из F(3) со значением -2 Вход в G(3) Вход в F(2) Вход в F(1) Выход из F(1) со значением 1 Вход в G(1) Выход из G(1) со значением 1 Выход из F(2) со значением 0 Вход в G(2) Вход в F(1) Выход из F(1) со значением 1 Вход в G(1) Выход из G(1) со значением 1 Выход из G(2) со значением 2 Выход из G(3) со значением 2 Выход из F(4) со значением -4 Вход в G(4) Вход в F(3) Вход в F(2) Вход в F(1) Выход из F(1) со значением 1 Вход в G(1) Выход из G(1) со значением 1 Выход из F(2) со значением 0 Вход в G(2) Вход в F(1) Выход из F(1) со значением 1 Вход в G(1) Выход из G(1) со значением 1 Выход из G(2) со значением 2 Выход из F(3) со значением -2 Вход в G(3) Вход в F(2) Вход в F(1) Выход из F(1) со значением 1 Вход в G(1) Выход из G(1) со значением 1 Выход из F(2) со значением 0 Вход в G(2) Вход в F(1) Выход из F(1) со значением 1 Вход в G(1) Выход из G(1) со значением 1 Выход из G(2) со значением 2 Выход из G(3) со значением 2 Выход из G(4) со значением 0 Выход из F(5) со значением -4 Вход в G(5) Вход в F(4) Вход в F(3) Вход в F(2) Вход в F(1) Выход из F(1) со значением 1 Вход в G(1) Выход из G(1) со значением 1 Выход из F(2) со значением 0 Вход в G(2) Вход в F(1) Выход из F(1) со значением 1 Вход в G(1) Выход из G(1) со значением 1 Выход из G(2) со значением 2 Выход из F(3) со значением -2 Вход в G(3) Вход в F(2) Вход в F(1) Выход из F(1) со значением 1 Вход в G(1) Выход из G(1) со значением 1 Выход из F(2) со значением 0 Вход в G(2) Вход в F(1) Выход из F(1) со значением 1 Вход в G(1) Выход из G(1) со значением 1 Выход из G(2) со значением 2 Выход из G(3) со значением 2 Выход из F(4) со значением -4 Вход в G(4) Вход в F(3) Вход в F(2) Вход в F(1) Выход из F(1) со значением 1 Вход в G(1) Выход из G(1) со значением 1 Выход из F(2) со значением 0 Вход в G(2) Вход в F(1) Выход из F(1) со значением 1 Вход в G(1) Выход из G(1) со значением 1 Выход из G(2) со значением 2 Выход из F(3) со значением -2 Вход в G(3) Вход в F(2) Вход в F(1) Выход из F(1) со значением 1 Вход в G(1) Выход из G(1) со значением 1 Выход из F(2) со значением 0 Вход в G(2) Вход в F(1) Выход из F(1) со значением 1 Вход в G(1) Выход из G(1) со значением 1 Выход из G(2) со значением 2 Выход из G(3) со значением 2 Выход из G(4) со значением 0 Выход из G(5) со значением -4 РЕЗУЛЬТАТ: 1 Вариант с хранением данных // PascalABC.NET 3.1, сборка 1192 от 07.03.2016 var   RF,RG:array[-100..100] of integer; function G(n:integer):integer; forward; function F(n:integer):integer; begin   Writeln('Вход в F(',n,')');   if RF[n]<>777 then Result:=RF[n]   else begin     if n=1 then Result:=1     else Result:=F(n-1)-G(n-1);     RF[n]:=Result     end;   Writeln('Выход из F(',n,') со значением ',Result) end; function G(n:integer):integer; begin   Writeln('Вход в G(',n,')');   if RG[n]<>777 then Result:=RG[n]   else begin     if n=1 then Result:=1     else Result:=F(n-1)+G(n-1);     RG[n]:=Result     end;   Writeln('Выход из G(',n,') со значением ',Result) end; begin   for var i:=-100 to 100 do begin     RF[i]:=777; RG[i]:=777     end;   Writeln('РЕЗУЛЬТАТ: ',F(5)/G(5)) end. Результат выполнения программы Вход в F(5) Вход в F(4) Вход в F(3) Вход в F(2) Вход в F(1) Выход из F(1) со значением 1 Вход в G(1) Выход из G(1) со значением 1 Выход из F(2) со значением 0 Вход в G(2) Вход в F(1) Выход из F(1) со значением 1 Вход в G(1) Выход из G(1) со значением 1 Выход из G(2) со значением 2 Выход из F(3) со значением -2 Вход в G(3) Вход в F(2) Выход из F(2) со значением 0 Вход в G(2) Выход из G(2) со значением 2 Выход из G(3) со значением 2 Выход из F(4) со значением -4 Вход в G(4) Вход в F(3) Выход из F(3) со значением -2 Вход в G(3) Выход из G(3) со значением 2 Выход из G(4) со значением 0 Выход из F(5) со значением -4 Вход в G(5) Вход в F(4) Выход из F(4) со значением -4 Вход в G(4) Выход из G(4) со значением 0 Выход из G(5) со значением -4 РЕЗУЛЬТАТ: 1
Не нашли ответ?
Ответить на вопрос
Похожие вопросы