Помогите решить пожалуйста, нужно именно решение т.к ответы знаю 32 ответ 58, а 33 ответ...

0 голосов
24 просмотров

Помогите решить пожалуйста, нужно именно решение т.к ответы знаю 32 ответ 58, а 33 ответ 15


image

Информатика (15 баллов) | 24 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Количество символов "*" соответствует количеству вызовов рекурсивных процедур.
32. Таблица вызовов см. рис.
При выполнении вызова F(6) сначала на экран выводится "*", затем, так как 6>0, то последовательно выполняются вызовы F(6-2); F(6-2); F(6 div 2) (то есть F(4); F(4);F(3)).
При вызове F(4) сначала на экран выводится "*", затем, так как 4>0, то последовательно выполняются вызовы F(4-2); F(4-2); F(4 div 2) (то есть F(2); F(2);F(2)). 
При втором вызове F(4) выполняется, естественно, тоже самое.
Рекурсивные вызовы процедуры закончатся как только значение параметра n станет <=0 (в нашем случае это 0 или -1).<br>Количество вызовов = 1+3+9+9*3+6*3 = 58

33. Таблица вызовов см. рис.
Количество вызовов = 1+2+4+6+2 = 15


image
image
(194k баллов)
0

Помоги пожалуйста, как разобраться в фото ?) не понимаю таблички

0

А почему вы умножаете на 3?

0

В задаче номер 32. Там 1+3+9+9*3+6*3 подскажите откуда тройки ?

0

В 9 ячейках таблицы по 3 вызова процедуры и в 6 ячейках таблицы по 3 вызова.