
Дана рекурсивная функция: function f(n: integer): integer; begin if n>100 then f:=n-10 else
f:=f(f(n+11)) end; Вычислите f(96).

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

на паскале (91)
function f(n: integer): integer;
begin if n>100 then f:=n-10 else f:=f(f((n+11))) end; var a:integer; begina:=96; writeln(f(a)); end.



Для вычисления значения функции f(96), мы должны последовательно применить рекурсивную формулу, предоставленную в задаче.
Шаг 1: Мы начинаем с входного значения n = 96. Шаг 2: Поскольку n = 96 < 100, мы вызываем функцию f с аргументом f(n + 11). Шаг 3: Мы вызываем функцию f с аргументом f(107). Шаг 4: Поскольку 107 > 100, мы вычитаем 10 из 107 и получаем 97. Шаг 5: Результат f(107) равен 97. Шаг 6: Теперь возвращаемся к предыдущему вызову функции f и подставляем полученный результат. То есть функция f(96) становится f(f(107)). Шаг 7: Мы вызываем функцию f с аргументом f(97). Шаг 8: Поскольку 97 > 100, мы вычитаем 10 из 97 и получаем 87. Шаг 9: Результат f(97) равен 87. Шаг 10: Теперь возвращаемся к предыдущему вызову функции f и подставляем полученный результат. То есть функция f(96) становится f(f(97)). Шаг 11: Мы вызываем функцию f с аргументом f(87). Шаг 12: Поскольку 87 > 100, мы вычитаем 10 из 87 и получаем 77. Шаг 13: Результат f(87) равен 77. Шаг 14: Теперь возвращаемся к предыдущему вызову функции f и подставляем полученный результат. То есть функция f(96) становится f(f(87)). Шаг 15: Мы вызываем функцию f с аргументом f(77). Шаг 16: Поскольку 77 > 100, мы вычитаем 10 из 77 и получаем 67. Шаг 17: Результат f(77) равен 67. Шаг 18: Теперь возвращаемся к предыдущему вызову функции f и подставляем полученный результат. То есть функция f(96) становится f(f(77)). Шаг 19: Мы вызываем функцию f с аргументом f(67). Шаг 20: Поскольку 67 > 100, мы вычитаем 10 из 67 и получаем 57. Шаг 21: Результат f(67) равен 57. Шаг 22: Теперь возвращаемся к предыдущему вызову функции f и подставляем полученный результат. То есть функция f(96) становится f(f(67)). Шаг 23: Мы вызываем функцию f с аргументом f(57). Шаг 24: Поскольку 57 > 100, мы вычитаем 10 из 57 и получаем 47. Шаг 25: Результат f(57) равен 47. Шаг 26: Теперь возвращаемся к предыдущему вызову функции f и подставляем полученный результат. То есть функция f(96) становится f(f(57)). Шаг 27: Мы вызываем функцию f с аргументом f(47). Шаг 28: Поскольку 47 > 100, мы вычитаем 10 из 47 и получаем 37. Шаг 29: Результат f(47) равен 37. Шаг 30: Теперь возвращаемся к предыдущему вызову функции f и подставляем полученный результат. То есть функция f(96) становится f(f(47)). Шаг 31: Мы вызываем функцию f с аргументом f(37). Шаг 32: Поскольку 37 > 100, мы вычитаем 10 из 37 и получаем 27. Шаг 33: Результат f(37) равен 27. Шаг 34: Теперь возвращаемся к предыдущему вызову функции f и подставляем полученный результат. То есть функция f(96) становится f(f(37)). Шаг 35: Мы вызываем функцию f с аргументом f(27). Шаг 36: Поскольку 27 > 100, мы вычитаем 10 из 27 и получаем 17. Шаг 37: Результат f(27) равен 17. Шаг 38: Теперь возвращаемся к предыдущему вызову функции f и подставляем полученный результат. То есть функция f(96) становится f(f(27)). Шаг 39: Мы вызываем функцию f с аргументом f(17). Шаг 40: Поскольку 17 > 100, мы вычитаем 10 из 17 и получаем 7. Шаг 41: Результат f(17) равен 7. Шаг 42: Теперь возвращаемся к предыдущему вызову функции f и подставляем полученный результат. То есть функция f(96) становится f(f(17)). Шаг 43: Мы вызываем функцию f с аргументом f(7). Шаг 44: Поскольку 7 > 100, мы вычитаем 10 из 7 и получаем -3. Шаг 45: Результат f(7) равен -3. Шаг 46: Теперь возвращаемся к предыдущему вызову функции f и подставляем полученный результат. То есть функция f(96) становится f(f(7)). Шаг 47: Мы вызываем функцию f с аргументом f(-3). Шаг 48: Поскольку -3 > 100, мы вычитаем 10 из -3 и получаем -13. Шаг 49: Результат f(-3) равен -13. Шаг 50: Теперь возвращаемся к предыдущему вызову функции f и подставляем полученный результат. То есть функция f(96) становится f(f(-3)). Шаг 51: Мы вызываем функцию f с аргументом f(-13). Шаг 52: Поскольку -13 > 100, мы вычитаем 10 из -13 и получаем -23. Шаг 53: Результат f(-13) равен -23. Шаг 54: Теперь возвращаемся к предыдущему вызову функции f и подставляем полученный результат. То есть функция f(96) становится f(f(-13)). Шаг 55: Мы вызываем функцию f с аргументом f(-23). Шаг 56: Поскольку -23 > 100, мы вычитаем 10 из -23 и получаем -33. Шаг 57: Результат f(-23) равен -33. Шаг 58: Теперь возвращаемся к предыдущему вызову функции f и подставляем полученный результат. То есть функция f(96) становится f(f(-23)). Шаг 59: Мы вызываем функцию f с аргументом f(-33). Шаг 60: Поскольку -33 > 100, мы вычитаем 10 из -33 и получаем -43. Шаг 61: Результат f(-33) равен -43. Шаг 62: Теперь возвращаемся к предыдущему вызову функции f и подставляем полученный результат. То есть функция f(96) становится f(f(-33)). Шаг 63: Мы выз


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili