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

МОЛЮ ПАСКАЛЬ Что будет выведено на экран в результате работы программы? Нарисуйте дерево рекурсивных вызовов.
program k;
uses crt;
function F(n: integer):
integer;
begin
if n < 5 then
F := F(n + 1) + F(n + 2) + F(n + 3)
else
F := n;
end;
begin
Writeln (F(2));
end.

Показать ответ
Ответ:
SerPol
SerPol
22.01.2021 20:39

насколько я поняла будет примерно так:

вызываем F(2)

Так как 2 < 5^, то

F(2) = F(3) + F(4) + F(5)

аналогично F(3) = F(4) + F(5) + F(6) и F(4) = F(5) + F(6) + F(7)

так как 5,6,7 не меньше 5, то F(5) = 5, F(6) = 6, F(7) = 7

Отсюда F(4) = 5 + 6 + 7 = 18, теперь зная F(4) вычислим F(3):

F(3) = 18 + 5 + 6 = 29

И наконец, зная F(3) найдем F(2):

F(2) = 29 + 18 + 5 = 52

ответ: 52

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота