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.
- 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;