Вопрос задан 23.08.2018 в 12:31. Предмет Информатика. Спрашивает Петрашевич Тимофей.

Ниже записаны две рекурсивные функции, F и G: 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; Чему будет равно значение, вычисленное при выполнении вызова F(7)?
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Толеу Диас.
F(7) = F(6) + G(5) = F(5) + G(4) + G(4) + F(3) = F(4) + G(3) + G(3) + F(2) + G(3) + F(2) + F(2) + G(1) = F(3) + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = F(2) + G(1) + 10 = 12
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Давайте рассмотрим, как будут вычисляться значения функций F и G при вызове F(7).

Функции F и G определены следующим образом:

```pascal 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; ```

Теперь давайте рекурсивно вычислим F(7):

1. F(7) = F(6) + G(5) 2. F(6) = F(5) + G(4) 3. F(5) = F(4) + G(3) 4. F(4) = F(3) + G(2) 5. F(3) = F(2) + G(1) 6. F(2) = F(1) + G(0) (base case, так как n <= 2) 7. F(1) = 1 (base case) 8. G(0) = 1 (base case) 9. G(1) = G(0) + F(-1) (base case, так как n <= 2) 10. G(2) = G(1) + F(0) 11. G(3) = G(2) + F(1) 12. G(4) = G(3) + F(2) 13. G(5) = G(4) + F(3)

Теперь подставим полученные значения обратно:

1. F(7) = F(6) + G(5) 2. F(7) = (F(5) + G(4)) + G(5) 3. F(7) = ((F(4) + G(3)) + G(4)) + G(5) 4. F(7) = (((F(3) + G(2)) + G(3)) + G(4)) + G(5) 5. F(7) = ((((F(2) + G(1)) + G(2)) + G(3)) + G(4)) + G(5) 6. F(7) = ((((F(1) + G(0)) + G(1)) + G(2)) + G(3)) + G(4)) + G(5) 7. F(7) = ((((1 + 1) + G(1)) + G(2)) + G(3)) + G(4)) + G(5) 8. F(7) = ((((1 + 1) + (G(0) + F(-1))) + G(2)) + G(3)) + G(4)) + G(5) 9. F(7) = ((((1 + 1) + (1 + 1)) + G(2)) + G(3)) + G(4)) + G(5) 10. F(7) = ((((1 + 1) + (1 + 1)) + (G(1) + F(0))) + G(3)) + G(4)) + G(5) 11. F(7) = ((((1 + 1) + (1 + 1)) + (1 + 1)) + G(3)) + G(4)) + G(5) 12. F(7) = ((((1 + 1) + (1 + 1)) + (1 + 1)) + (G(2) + F(1))) + G(4)) + G(5) 13. F(7) = ((((1 + 1) + (1 + 1)) + (1 + 1)) + (1 + 1)) + G(4)) + G(5) 14. F(7) = ((((1 + 1) + (1 + 1)) + (1 + 1)) + (1 + 1)) + (G(3) + F(2))) + G(5) 15. F(7) = ((((1 + 1) + (1 + 1)) + (1 + 1)) + (1 + 1)) + (1 + 1) + G(5) 16. F(7) = ((((1 + 1) + (1 + 1)) + (1 + 1)) + (1 + 1)) + (1 + 1) + (G(4) + F(3))) 17. F(7) = ((((1 + 1) + (1 + 1)) + (1 + 1)) + (1 + 1)) + (1 + 1) + (1 + 1) + G(5) 18. F(7) = ((((1 + 1) + (1 + 1)) + (1 + 1)) + (1 + 1)) + (1 + 1) + (1 + 1) + (G(3) + F(2))) 19. F(7) = ((((1 + 1) + (1 + 1)) + (1 + 1)) + (1 + 1)) + (1 + 1) + (1 + 1) + (1 + 1) 20. F(7) = ((((1 + 1) + (1 + 1)) + (1 + 1)) + (1 + 1)) + (1 + 1) + (1 + 1) + 2

Таким образом, значение F(7) равно 20.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос