Запишите соотношение, используемое в ниже подпрограмме procedure f(n: integer); begin if n> 1 then begin f(n div 2); end; write ('**'); end; определите, сколько звездочек будет выведено в результате вызова f(7) подпрограммы
226
333
Ответы на вопрос:
Это рекурсивный вызов процедуры. при первом вызове 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 звездочек ******.
Prorgam lol; var y: integer; begin write('введи возраст: '); readln(y); if(y< 17)then writeln('я с тобой дружу') else writeln('я с тобой не дружу'); end.
Популярно: Информатика
-
recebramazanov01.06.2022 20:30
-
sanya81119.02.2021 06:50
-
ПЕДРО1213.02.2021 11:13
-
F1NN121.03.2021 22:39
-
miku136812.12.2021 01:33
-
pupsikira228.02.2021 03:33
-
Мини19605.11.2020 01:35
-
10082003настя27.01.2022 03:22
-
Данил190104.12.2022 06:24
-
masaynay22mailru30.03.2023 22:05