Да это самый удобный и наглядный Рисуем дерево вызовов. Понимаем, что если функция вызвалась с числом <=0, то печатается одна звезда, затем на этой ветке рекурсия останавливается. Если же функция вызвалась с параметром > 0, То печатается 2 звезды и возникают новые две ветки рекурсивных вызовов. Прилагаю рисунок, красными точками отмечены звезды, печатающиеся при конкретном вызове функции. ответо будет являться общее количество таких точек. Важно понять, что при наличии идентичных веток можно посчитать результат для такой ветки один раз и использовать его для других таких же.
ответ: 31.
Объяснение:
1)program p1;
var m,n: integer;
begin
write('вводите число: '); readln(n);
if n> =100 then
begin
m: = n mod 10;
writeln('последняя цира: ',m);
m: =n div 10 mod 10;
writeln('предпоследняя цира: ',m);
end;
end.
2)program p2;
var t1,t2,t3,d1,d2,d3,v1,v2,v3: integer;
vsr: real;
begin
write('вводите время езды(ч): '); readln(t1,t2,t3);
write('вводите скорость(км/ч): '); readln(v1,v2,v3);
d1: =v1*t1;
d2: =v2*t2;
d3: =v3*t3;
vsr: =(d1+d2+d3)/(t1+t2+t3);
writeln('средяя скорость= ',vsr: 1: 2,'км/ч');
end.
Почему трава зеленая не является высказыванием это вопрос.