Rekurencja kombinacje

0

Cześć. Od jakiegoś czasu próbuję ogarnąć rekurencje w pascalu. Proste programy typu silnia czy potęga nie stanowią problemu. Mam parę pytań dotyczących rekurencji. Piszę tu, bo nie znalazłem w internecie konkretnych odpowiedzi co i jak.

  1. Jak działa funkcja z podwójnym wywołaniem rekurencyjnym, czy da się to jakoś rozpisać na schemacie drzewa albo coś?
    chodzi np o coś takiego
function fun({argumenty}):integer;
begin
if {jakiś warunek} then ....
else
fun(argumenty);
fun(argumenty);
end;
 

Z jakimi argumentami wywoła się druga funkcja?
2. Co się dzieje w takim przypadku, czy da się to przedstawić na jakimś schemacie?

 function fun({argumenty}):integer;
begin
if {jakiś warunek} then ....
else
for i:=1 to ilestam do
fun(argumenty);

end;
0
  1. Jak działa funkcja z podwójnym wywołaniem rekurencyjnym,
    normalnie: najpierw jest pierwsze wywołanie (i jego wszystkie wywołania rekurencyjne), a potem drugie wywołanie (i znowu w głąb)

1 użytkowników online, w tym zalogowanych: 0, gości: 1