Вопрос задан 16.11.2020 в 15:10. Предмет Информатика. Спрашивает Кубик Дима.

Срочно! Запишите соотношение, используемое в приведенной ниже подпрограмме procedure

f(n:integer); begin if n>1 then begin f(n div 2); end; write ('**'); end; Определите, сколько звездочек будет выведено в результате вызова f(7) подпрограммы
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Немчинов Кирилл.
Это рекурсивный вызов процедуры.  При первом вызове F(7)  по условию 
if n>1 then ...  будет вызов этой же процедуры    f(n div 2);  или  f(3),  далее,  т.к. 3>1,  то снова будет вызвана процедура  f(3 div 2)  или f(1),  теперь не выполняется условие  n>1,  следовательно, будет выполнен оператор      write ('**');  -  напечатаются две звездочки, после выхода из процедуры продолжится выполнение процедуры при втором вызове - будут напечатаны еще 2 звездочки, затем продолжится выполнение при первом вызове - еще будут напечатаны 2 звездочки.  В результате вызова f(7) будут напечатаны 6 звездочек  ******.
0 0

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

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

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