Количество символов "*" соответствует количеству вызовов рекурсивных процедур.
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).
Количество вызовов = 1+3+9+9*3+6*3
= 58
33. Таблица вызовов см. рис.
Количество вызовов = 1+2+4+6+2 = 15
Пройдемся по программе итерационно.
a = 5, b = 16.
a = 5, b = b - 3*a = 16 - 15 = 1.
a = 5, b = 1 => a > b: c = a - b = 5 - 1 = 4.
c = 4.
Ответ: 1) 4.