Die Magie der Rekursion
In diesem Abschnitt wollen wir uns die im Fachkonzept erwähnte Magie der Rekursion nochmal genauer anschauen. Unten findest du erneut den RecursionTutor. Du siehst ein Diagramm, aber ohne Inhalt in den Knoten. Du kannst nun eine Funktion programmieren, indem du die Knoten mit dem füllst, was sie bei dem Aufrufen der Funktion die du programmieren möchtest, enthalten würden.
Aufgabe 3
Programmiere die Funktion summe(n), die die Summe aller Zahlen von 0 bis n berechnet. Also summe(3) wäre 0 + 1 + 2 + 3 = 6. Unten siehst du den RecursionTutor. Programmiere die Funktion allerdings nicht in das Feld oben, sondern über das Diagramm unten. In die erste Lücke kommt der Funktionsaufruf, also zum Beispiel summe(3). Beachte den Hinweis in der Beschreibung über dem Diagramm.
Überlege dir auch hier wieder die Antworten auf die folgenden Fragen, die wir schon im vorherigen Abschnitt kennengelernt haben:
- Wie reduziere ich das Problem?
- Was mache ich mit dem Ergebnis des kleineren Problems unter der Annahme, dass die Funktion das kleinere Problem bereits lösen kann?
- Was ist die kleinste Instanz des Problems bzw. was ist der Basisfall?
- Was ist die Lösung des Basisfalls?
Wenn du die Lücken alle gefüllt hast, generiert das Tool die entsprechende Funktionsdefinition. Werte das Diagramm für verschiedene Werte aus, um zu überprüfen, ob die Funktion funktioniert.