pascal rekurencja

0

Może mi ktoś pomóc w zrozumieniu tego

Function fibonacci(ilosc:integer):integer;
    Begin
          If (ilosc=1) Or (ilosc=0) Then fibonacci:=1

          else  fibonacci:=fibonacci(ilosc-1)+fibonacci(ilosc-2);

    End;

Wstawaim 6 i co się dzieje w funkcji? Kiedy przerywa się wykonanie. Wiem, że rekurencja to wykonywanie funkcji, w tym wypadku, przez sama siebie w sobie :D.

0
	          (6)
                   /          \
                        (5)             (4)
        /           \
               (4)             (3)
        /            \
     (3)                 (2)
  /      \              /     \
 (2)    (1)->1   (1)->1  (0)->1

/
(1)->1 (0)->1

w nawiasie jest z jakim parametrem funkcja jest wolana, jak jest -> tzn. ze taka wartosc zwraca funkcja
calego drzewka nie rozpisuje, bo bedzie zbyt duzy chaos, rozpisz sobie na kartce jak chcesz :)

0

Dziękuję serdecznie.

0

Przede wszystkim, żeby zrozumieć rekurencje należy zrozumieć rekurencję .

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