i

Einordnung Recursion Tutor

Schauen wir uns jetzt die Funktionen von eben nochmal genauer an. Was haben die beiden Funktionen gemeinsam?

In beiden Fällen hat sich das Diagramm mit den ersten Klicks vergrößert. Gleichzeitig hat sich das Argument im oberen Knoten verkleinert. Bei der Summierung der Listenelemente wurde die Liste immer kürzer. Bei der Quersumme wurde die Zahl immer kleiner. Wenn das Problem noch nicht komplett gelöst werden konnte, war der Knoten gelb.

Irgendwann kamen wir bei einer Liste bzw. einer Zahl an, die nicht mehr verkürzt bzw. verkleinert werden konnte. An der Stelle hat sich das Diagramm auch nicht mehr vergrößert, sondern die Knoten haben ihre Farbe verändert und im unteren Knoten sind Ergebnisse erschienen, bis schließlich das Endergebnis der Funktion berechnet wurde. Die Elemente der Liste haben sich zu 13 aufsummiert und die Quersumme der eingegebenen Zahl war 15. Die anderen jeweils unteren Knoten haben Teilergebnisse enthalten, von den jeweiligen Funktionsaufrufen im oberen Knoten.

Bei beiden Funktionen haben wir sozusagen das Problem nicht direkt gelöst, sondern wir haben das Problem Schritt für Schritt verkleinert, bis es nicht mehr möglich war. Das ist die grundlegende Idee der Rekursion.

In der Informatik ist Rekursion eine Strategie, um komplizierte Probleme zu lösen, deren Lösung nicht auf dem direktesten Weg ersichtlich ist, indem wir sie auf kleinere Versionen des Problems zurückführen. Das machen wir so oft, bis die Lösung des Problems offensichtlich ist.

Das Tool visualisiert Schritt für Schritt, was passiert, wenn eine rekursive Funktion aufgerufen wird. Es zeigt dir:

  • Jeden einzelnen Funktionsaufruf als eigenen Knoten in einem Diagramm
  • Die Argumente, mit denen die Funktion jeweils aufgerufen wird
  • Wie die Funktion durch ihren Code "läuft"

Aufgabe 3

Entscheide für die folgenden Probleme, ob sie deiner Meinung nach intuitiv rekursiv gelöst werden können, oder nicht. Hinweis: Wenn ein Problem nicht inuitiv gelöst werden kann, heißt das nicht, dass es gar nicht rekursiv gelöst werden kann, sondern nur, dass eine andere, z.B. iterative, Methode intuitiver funktioniert.

Suche

v
100.140.1.1.2 Einordnung Recursion Tutor
Kopieren durch Anklicken

Rückmeldung geben