Rekursion: Unterschied zwischen den Versionen
Thomas (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Thomas (Diskussion | Beiträge) |
||
Zeile 48: | Zeile 48: | ||
== Veranschaulichung == | == Veranschaulichung == | ||
[[Datei:Rekursion BlueJ.png|mini|Veranschaulichung einer Rekursion mit dem Debugger]] | [[Datei:Rekursion BlueJ.png|mini|Veranschaulichung einer Rekursion mit dem Debugger]] | ||
Veranschaulichen lässt sich die Rekursion am Beispiel der Fakultät auch an Hand der folgenden Darstellung. Ruft man die [[Methode]] <code>fakultät(4)</code> auf, so wird als Eingabeparameter n=4 übergeben. Dieser Aufruf ist Aufruf Nummer 1. Es folgen drei weitere Aufrufe der [[Methode]] <code>fakultät(n)</code>, um die Fakultät vom Wert 4 zu berechnen. Im vierten und letzten Aufruf hat die Variable n den Wert 1 angenommen. Die Abbruchbedingung ist erfüllt. Nun werden die Methodenaufrufe - symbolisiert durch die Pfeile - nacheinander abgearbeitet. Durch dieses nachträgliche Abarbeiten, wird die latinische Bedeutung des Wortes Rekursion ersichtlich: recursio = das Zurücklaufen. Die Reihenfolge kann in BlueJ auch anhand der Call Sequenz im Debugger nachvollzogen werden. | Veranschaulichen lässt sich die Rekursion am Beispiel der [[Fakultät]] auch an Hand der folgenden Darstellung. Ruft man die [[Methode]] <code>fakultät(4)</code> auf, so wird als Eingabeparameter n=4 übergeben. Dieser Aufruf ist Aufruf Nummer 1. Es folgen drei weitere Aufrufe der [[Methode]] <code>fakultät(n)</code>, um die Fakultät vom Wert 4 zu berechnen. Im vierten und letzten Aufruf hat die [[Variable (Informatik)|Variable]] n den Wert 1 angenommen. Die Abbruchbedingung ist erfüllt. Nun werden die Methodenaufrufe - symbolisiert durch die Pfeile - nacheinander abgearbeitet. Durch dieses nachträgliche Abarbeiten, wird die latinische Bedeutung des Wortes Rekursion ersichtlich: recursio = das Zurücklaufen. Die Reihenfolge kann in [[BlueJ]] auch anhand der Call Sequenz im [[Debugger]] nachvollzogen werden. | ||
[[Kategorie:Programmierung]] | [[Kategorie:Programmierung]] |