#1 10. Mai 2007 Fibonachi - Aufrufbaum ( Hilfe ) Hey, ich hab ein Problem! Ich soll einen Aufrufbaum für Fibonachi zeichnen... Nur komm ich mit der prozedur nicht ganz klar und wer daraus echt überhaupt nicht schlüssig, obwohl die bestimmt ganz einfach ist Kann mir da vielleicht wer helfen? Wäre nett, BW ist auch dabei! --> Also die Aufrufbäume zeichnen und verlinken oder mir erklären, wie das geht?! Hier die Prozedur: Code: function FIB( i : longint ) : longint // Für i = 5 einsetzen if i <= 2 then result := 1 else result := FIB( i - 1 ) + FIB( i - 2 ); end; + Multi-Zitat Zitieren
#2 11. Mai 2007 AW: Fibonachi - Aufrufbaum ( Hilfe ) Sollte so stimmen. Ist ne einfache Rekursion, aber um die Uhrzeit kann es sein, dass ich was vergessen habe ^^ Code: FIB (5) |-> FIB (4) |-> FIB (3) |-> FIB (2) |-> FIB (1) |-> FIB (1) |-> FIB (3) |-> FIB (2) |-> FIB (1) + Multi-Zitat Zitieren
#3 11. Mai 2007 AW: Fibonachi - Aufrufbaum ( Hilfe ) bin mal so frei und versuch es mit einer c++ funktion zu erklären ^^ PHP: 1 ) int fib ( int i ) 2 ) { 3 ) if( i <= 2 ) 4 ) return 1 ; 5 ) 6 ) return fib ( i - 1 ) + fib ( i - 2 ); 7 ) } ich versuchs mal zu erklären: PHP: 1 ) Funktionsaufruf , gibt ein integer zurück und als übergabeparameter ebenfalls ein int2 ) ja ^^ 3 ) wenn i kleiner - gleich 2 dann gebe eine 1 zurück4 ) gibt die zahl 1 zurück5 ) 6 ) addiere die fib von i - 1 und fib von i - 2 , dies ist auch die rekursion rekursion: aufruf der eigene funktion, bsp: fib(3) ruft auf result := FIB( i - 1 ) + FIB( i - 2 ); also fib(2) und fib(1). in der if abfrage, sagen wir wenn i <= 2 was ja 2 mal der fall ist: also steht da: result := FIB( i - 1 ) + FIB( i - 2 ); <=> result := 1 +1; damit hätten wir die Fib(3) = 2. hoffe das hilft dir gruß wollknoll + Multi-Zitat Zitieren