Есть ответ 👍

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

226
333
Посмотреть ответы 2

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


Это рекурсивный вызов процедуры.   при первом вызове 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 звездочек   ******.
likery
4,4(85 оценок)

Prorgam lol; var y: integer; begin write('введи возраст: '); readln(y); if(y< 17)then writeln('я с тобой дружу') else writeln('я с тобой не  дружу'); end.

Популярно: Информатика