MINT üben

Das Prinzip Rekursion

Dreißig Übungen zur Rekursion — vom Erkennen der Abbruchbedingung bis zum Urteil, ob eine Methode terminiert.

Dein Fortschritt:
0 / 0 Aufgaben
1

Übungsaufgaben

Dreißig Übungen zum Klicken, Zuordnen, Rechnen und Knobeln — von AFB I bis AFB III. Jede Übung gibt dir sofort Rückmeldung; wenn du nicht weiterkommst, helfen die gestuften Tipps.

A1
Was jede Rekursion braucht
AFB I

Gib alle Aussagen an, die auf jede korrekte rekursive Methode zutreffen.

Mehrere Antworten sind richtig. Markiere alle zutreffenden und klicke dann auf „Auswahl prüfen“.
Abbruchbedingung, Selbstaufruf mit verändertem Parameter und die Garantie, dass die Abbruchbedingung erreicht wird — mehr braucht es nicht. Die Abbruchbedingung kann jede Form haben (n < 10, s.length() == 0 …), und eine Methode darf sich auch zweimal aufrufen.
Ansatz: Denk an die drei Bedingungen für Terminierung aus der Erklärung.
Weiter: Eine Schleife ist bei Rekursion gerade nicht nötig — die Wiederholung entsteht durch den Selbstaufruf.
A2
Stimmt's? — Sternenreihe
AFB I

Gegeben ist die Methode sterne. Lies aus dem Quelltext ab, ob die Aussagen stimmen.

static int sterne(int n) {
    if (n <= 0) return 0;
    return 3 + sterne(n - 1);
}
5 Aussagen nacheinander. Eine falsche Einschätzung reicht — dann startest du die Serie mit „Neue Runde“ neu.
Aussage 1 von 5

Wer n <= 0 statt n == 0 schreibt, schützt die Methode vor negativen Eingaben.
Ansatz: Suche zuerst die Zeile ohne Selbstaufruf.
Weiter: Der Parameter im Selbstaufruf ist n - 1; die 3 steht außerhalb des Aufrufs.
A3
Abbruch oder Schritt?
AFB I

Ordne jede Zeile aus verschiedenen rekursiven Methoden richtig zu.

Ziehe jede Karte in den passenden Korb — oder wähle sie mit Enter aus und drücke dann die Ziffer des Korbs (0 legt sie zurück).
1Abbruchbedingung
2Rekursionsschritt
Erkennungszeichen: Die Abbruchbedingung liefert ein Ergebnis ohne Selbstaufruf, der Rekursionsschritt enthält den Namen der eigenen Methode. Bei rauf wächst der Parameter — trotzdem endet die Rekursion, weil k > 100 irgendwann erreicht wird.
Ansatz: Enthält die Zeile den Namen der Methode, in der sie steht?
Weiter: Zeilen mit if und direkter Rückgabe sind Abbruchbedingungen.