Буду объяснять на алгоритмическом языке. алгоритм начинается с функции F со значением 42. далее она выводит на экран звездочку ("вывод "*" "). это первая звездочка. далее проверяется условие (mod - функция, которая выводит на экран остаток от деления. Например: 1399 mod 100 = 99.) 42 = 0 ? Нет. Значит мы действуем по ветке "иначе" , то есть запускаем эту же функцию только со значением n - 3. Зная, что n = 42 вычисляем. Функция запускается со значением 39. опять проверяется условие и тд... Когда значение функции доходит до 30 и она запускается с этим значением, звездочка появляется (потому что функция ("вывод "*" ") находится перед If) и проверяется условие, делится ли нацело 30? Да, делится, остаток от деления на 5 равен 0. Следовательно запускается функция G со значениями n - 5. мы знаем что n = 30. G(25). затем проверяется условие n > 0. n у нас равно 25, значит условие верно. далее запускается функция F от значения 25 - 1 = 24. И все по новой. Показывается звездочка, проверяется условие, условие не верно (т.к . 24/5 получится число с остатком), выполняются команды в "иначе". и так далее пока n = 0. после этого значения в функции F условие будет верно (0/5=0) , запускается функция G от значения -5. проверяется условие в функции G, условие неверно, программа завершается. Ответ: 13