Трассировка вызовов, печатаемых значений и подсчет суммыvar s:integer;procedure F(n:integer);begin Write(' F(',n,') '); Write(n,' '); s:=s+n; if n<6 then begin Write(n); s:=s+n; F(n+1); F(n+2); F(2*n) endend;begin s:=0; F(1); Writeln(#13#10,s)end.
Результат выполнения программы: F(1) 1 1 F(2) 2 2 F(3) 3 3 F(4) 4 4 F(5) 5 5 F(6) 6 F(7) 7 F(10) 10 F(6) 6 F(8) 8 F(5) 5 5 F(6) 6 F(7) 7 F(10) 10 F(6) 6 F(4) 4 4 F(5) 5 5 F(6) 6 F(7) 7 F(10) 10 F(6) 6 F(8) 8 F(4) 4 4 F(5) 5 5 F(6) 6 F(7) 7 F(10) 10 F(6) 6 F(8) 8 F(3) 3 3 F(4) 4 4 F(5) 5 5 F(6) 6 F(7) 7 F(10) 10 F(6) 6 F(8) 8 F(5) 5 5 F(6) 6 F(7) 7 F(10) 10 F(6) 6 F(2) 2 2 F(3) 3 3 F(4) 4 4 F(5) 5 5 F(6) 6 F(7) 7 F(10) 10 F(6) 6 F(8) 8 F(5) 5 5 F(6) 6 F(7) 7 F(10) 10 F(6) 6 F(4) 4 4 F(5) 5 5 F(6) 6 F(7) 7 F(10) 10 F(6) 6 F(8) 8 F(4) 4 4 F(5) 5 5 F(6) 6 F(7) 7 F(10) 10 F(6) 6 F(8) 8 530