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

Предоставлен рекурсивный алгоритм: procedure F(n: integer);
begin
writeln(n);
if n < 5 then
begin
F(n + 3);
F(n * 3)
end
end;
Определите и напишите сумму чисел, которые будут выведены при вызове F(1).

Ответ:
frolikoffgrigory
frolikoffgrigory
26.12.2020 15:50

42

Объяснение:

F(1): вывод 1. Т.к. 1<5, произойдут рекурсивные вызовы

       F(1+3)=F(4): вывод 4. Т.к. 4<5, произойдут рекурсивные вызовы

               F(4+3)=F(7): вывод 7. Т.к. 7>5, рекурсивные вызовы не произойдут.

               F(4*3)=F(12): вывод 12. Т.к. 12>5, рекурсивные вызовы не произойдут.

       F(1*3)=F(3): вывод 3. Т.к. 3<5, произойдут рекурсивные вызовы

               F(3+3)=F(6): вывод 6. Т.к. 6>5, рекурсивные вызовы не произойдут.

               F(3*3)=F(9): вывод 9. Т.к. 9>5, рекурсивные вызовы не произойдут.

Сумма выведенных чисел будет равна 1+4+7+12+3+6+9=42


Предоставлен рекурсивный алгоритм: procedure F(n: integer); begin writeln(n); if n < 5 then begi
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?