Rekursion
Worum geht es in diesem Kapitel?
In der funktionalen Programmierung werden klassische Schleifenstrukturen wie for- und while-Schleifen, die in der imperativen Programmierung gängig sind, nicht unterstützt. Dadurch spielt die Rekursion eine zentrale Rolle in der Steuerung von sich wiederholenden Ausdrücken.
Daher werden in diesem Kapitel rekursive Funktionsaufrufe als Ersatz von Schleifenstrukturen eingeführt und im weiteren Verlauf als Möglichkeit zur Zerlegung komplexer Probleme in kleinere und einfacher lösbare Teilprobleme ausgeschärft.
Mit der Erstellung rekursiver Datenstrukturen wird die Rekursion zusätzlich als eine Möglichkeit kennengelernt, mit der Beziehungen und verschachtelte Strukturen in Form von sich selbst referenzierenden Daten abgebildet werden können.
Anmerkung zum benötigten Vorwissen
Das Kapitel geht davon aus, dass mit dem Konzept der Rekursion bereits anderweitig gearbeitet wurde. Das Kapitel enthält einige einfachere Einstiegsaufgaben sowie eine Wiederholung zentraler Aspekte der Rekursion. Im Mittelpunkt steht jedoch, wie Rekursion in Racket eingesetzt werden kann und welche besondere Bedeutung diese in der funktionalen Programmierung hat. Im Laufe des Kapitels werden daher auch einige anspruchsvolle Aufgaben behandelt, die die Anwendung und das Verständnis von Rekursion vertiefen.
Die Behandlung des Kapitels rekursive Datenstrukturen benötigt zudem eine vorangegangene Behandlung des Kapitels zum Thema Records.