Вопрос задан 05.05.2021 в 23:35. Предмет Информатика. Спрашивает Клашин Даня.

Информатика в фото слева вывод программы,а справа сама программа я вообще ничего не шарю в

программировании разжуйте по кусочкам пожалуйста1. я не понимаю почему в начале идут 6 звезд а не 5 2.я не понимаю почему идут 2 звезды потом 1 , а потом 2 3.ответ у меня получается 11 а в выводе 17
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Сургучёва Елизавета.

Будем выполнять действия за программой:

 F(20) - пишется звёздочка

 n=20>10

 F(18) - пишется звёздочка

 n=18>10

Мысленно печатаем в голове:

 *(20) *(18) *(16) *(14) * (12) *(10) (звёздочка и в скобках после -  n )

Почему напечатается при n=10? Потому что условие после того, как печатается звёздочка.

Итак, у нас есть 6 звёздочек. Продолжаем с пункта выполнения  F(10) , но звёздочка уже напечаталась 6-ая!)

 n=10>10 - ложь, выполняется  G(10)

 G(10)

Печатается ** (уже 6 + ещё 2)

 n=10>1 - правда, значит выполняется  F(7)

 F(7) - опять будет выполняться  G(n) , так как  n=7 и в дальнейшем только уменьшается. НО! При каждом выполнении F печатается ещё одна звёздочка, независимо от условий.

Итого при каждом выполнении G будет выводится 3 звёздочки (2 от G и 1 от F)

 ***(10) ***(7) ***(4) ***(1)

И на последнем выполнении напечатается 2 звёздочки, а условие не выполнится. После этого выполнение закончится.

Итого 6 + 9 + 2= 17

Надеюсь понятно объяснил, рекурсия не самая простая тема

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос