Begin if n>0 then begin f(n-2); f(n-1); f(n-1); end; writeln('*'); end; сколько символов звездочка будет напечатано на экране при вызове F(5)

8 Дек 2019 в 19:41
229 +1
0
Ответы
1

При вызове F(5) будет напечатано 6 символов звездочки (*).

Объяснение:

При вызове F(5) функция f(n-2) вызовет F(3);При вызове F(3) функция f(n-1) вызовет F(2);При вызове F(2) функция f(n-1) вызовет F(1);При вызове F(1) функция f(n-2) вызовет F(-1);При вызове F(-1) условие n>0 не выполняется, поэтому ничего не происходит и функция завершается;При возврате на уровень F(1) символ "*" будет напечатан 2 раза;При возврате на уровень F(2) символ "*" будет напечатан 1 раз;При возврате на уровень F(3) символ "*" будет напечатан 1 раз;После выполнения всех рекурсивных вызовов и возвратов будет напечатан еще один символ "*" на уровне F(5).Итого, всего будет напечатано 6 символов "*".
18 Апр 2024 в 23:53
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир