
Информатика 10 класс Рекурсивные алгоритмы Заранее спасибо Определите, сколько символов * выведет
эта процедура при вызове F(6):procedure F( n: integer );begin write('*'); if n >= 1 then begin write('*'); F(n-1); F(n-2); F(n-3); end;end;

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

Ответ:
Ответ: 49.
Объяснение:
Первым действием процедура F(1) выведет число 1. Далее процедура F(1) вызовет процедуру F(n + 1), в результате выполнения которой на экране появится число n + 1 = 2. Процедура F(2) вызовет процедуру F(3), которая выведет на экран число 3 и вызовет процедуру F(4), которая выведет на экран число 4 и вызовет F(5), которая выведет на экран число 5.
После этого управление вернётся к процедуре F(4), которая начнёт выполнять следующий шаг своего алгоритма, т. е. обратиться к процедуре F(n + 3) = F(7). Процедура F(7) выведет на экран число 7. Далее управление вернётся к процедуре F(3). Рассуждая аналогично приходим к выводу, что процедура F(3) дополнительно выведет на экран число 6, процедура F(2) — 5.
Последним действием процедуры F(1) будет вызов процедуры F(n + 3) = F(4), которая выведет на экран числа 4, 5, 7.
Таким образом, на экране будут числа 1, 2, 3, 4, 5, 7, 6, 5, 4, 5, 7. Их сумма равна 49.



Давайте разберемся, сколько символов "*" будет выведено при вызове F(6)
с помощью данной рекурсивной процедуры.
Сначала процедура
F(6)
выводит одну "*":*
.Затем она вызывает
F(5)
,F(4)
, иF(3)
.Для
F(5)
снова выводится одна "*":*
.Затем
F(5)
вызываетF(4)
,F(3)
, иF(2)
.Для
F(4)
также выводится одна "*":*
.Затем
F(4)
вызываетF(3)
,F(2)
, иF(1)
.Для
F(3)
снова выводится одна "*":*
.Затем
F(3)
вызываетF(2)
,F(1)
, иF(0)
.Для
F(2)
снова выводится одна "*":*
.Затем
F(2)
вызываетF(1)
,F(0)
, иF(-1)
.Для
F(1)
снова выводится одна "*":*
.Затем
F(1)
вызываетF(0)
, иF(-1)
.Для
F(0)
снова выводится одна "*":*
.Теперь
F(0)
иF(-1)
не вызываются, так как они являются базовыми случаями.
Теперь давайте соберем все символы "*": * * * * * * * * * * * * * *
.
Итак, при вызове F(6)
будет выведено 15 символов "*".


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