Решение: Нам дан алгоритм со взаимной рекурсией двух процедур F и G. Проще говоря, процедура F вызывает процедуру G, которая, в свою очередь, вызывает процедуру F.
Процедура F вызывает процедуру G в том случае, если n>0, а процедура G вызывает процедуру F при n>1.
Нам нужно определить количество звёздочек, которое будет выведено на экран. Обратите внимание, звёздочки выводит только процедура G (writeln('*') и writeln('**')). При этом одна звёздочка выводится в любом случае при вызове G, а две звёздочки — если n > 1.
Процедура F(n) вызывает процедуру G(n-1), а процедура G(n) — процедуру F(n-2). Рассмотрим, какие процедуры будут вызваны при вызове F(15):
F(15) -> G(14) ->F(12) ->G(11) -> F(9) -> G(8) -> F(6) -> G(5) -> F(3) -> G(2) -> F(0)
Нас интересуют процедуры G, так как именно они выводят звёздочки:
F(15) -> G(14) ->F(12) ->G(11) -> F(9) -> G(8) -> F(6) -> G(5) -> F(3) -> G(2) -> F(0)
Всего процедура G была вызвана пять раз. При этом во всех случаях условие n>1 выполняется, то есть на экран выводится три звёздочки (одна до условия, две в условии).
Таким образом. общее количество звёздочек равно 5*3=15
Ответ: 15