MINT üben

Rekursive Aufrufe verfolgen

Dreißig Übungen zu Aufrufstapel, Tracetabelle und Aufrufbaum — vom Begriff bis zur Frage, wie hoch der Stapel wird.

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
Begriffe zum Aufrufstapel
AFB I

Ordne jedem Begriff seine Bedeutung zu, indem du passende Kartenpaare aufdeckst.

Decke zwei Karten auf, die zusammengehören. Mit der Tastatur: Tab zur Karte, Enter aufdecken, Pfeiltasten zum Wandern.

Stapel und Baum sind zwei Sichten auf dieselbe Rekursion: Der Stapel zeigt den Zustand in einem Moment, der Baum den ganzen Ablauf.
Ansatz: Überlege bei jedem Begriff: Geht es um einen Moment, einen einzelnen Aufruf oder den ganzen Ablauf?
Weiter: Die Rekursionstiefe ist eine Zahl — die Höhe des Stapels an seiner höchsten Stelle.
A2
Stapel bei summeQuadrate(4)
AFB I

Betrachtet wird der Aufruf summeQuadrate(4). Gib alle zutreffenden Aussagen an.

static int summeQuadrate(int n) {
    if (n == 0) return 0;
    return n * n + summeQuadrate(n - 1);
}
Mehrere Antworten sind richtig. Markiere alle zutreffenden und klicke dann auf „Auswahl prüfen“.
Aufrufe mit n = 4, 3, 2, 1, 0 — fünf Rahmen. Der zuletzt begonnene Aufruf (n = 0) endet zuerst, der erste (n = 4) zuletzt mit 16 + 14 = 30. Jeder Rahmen hat sein eigenes n.
Ansatz: Zähle alle Werte, die n annimmt — einschließlich 0.
Weiter: Welcher Aufruf beginnt zuletzt? Genau der endet zuerst.
A3
Der Ablauf in Worten
AFB I

Beschreibe den Ablauf von fakultaet(3), indem du die Lücken füllst.

Wort anklicken, dann Lücke anklicken (oder umgekehrt) — mit Tab und Enter geht es genauso. Ein Klick auf eine gefüllte Lücke legt das Wort zurück.

Beim Aufruf fakultaet(3) entsteht ein für n = 3 und wird auf den gelegt. Er auf das Ergebnis von fakultaet(2). Bei n = 1 greift die , der oberste Aufruf liefert 1 als . Danach werden die Rahmen in Reihenfolge wieder entfernt.

Genau dieser Satzbau trägt auch in der Klausur: Rahmen anlegen — warten — Abbruch — Rückgabe — Abbau in umgekehrter Reihenfolge.
Ansatz: Welches Wort steht für den Speicherbereich eines einzelnen Aufrufs?
Weiter: Der Aufrufstapel ist der Ort, der Rahmen das, was dort liegt.