Zum Inhalt
Alle Apps

Funktions-Räume (3D)

Über diese App

Python-Code eintippen oder ein Beispiel wählen — jeder Funktionsaufruf baut seinen eigenen Raum: Eine Code-Tafel zeigt die laufende Zeile und setzt Werte ein („7 + g(6)“ → „7 + 21“), Kisten auf dem Boden halten die lokalen Variablen, Wert-Kugeln fliegen am Kabel hin und zurück. Bei Rekursion wächst ein Baum aus Räumen auf Terrassen — g(7) und g(6) sind sichtbar verschiedene Räume. Zeitleiste zum Spulen, Stapel-Ansicht, Schritt für Schritt oder automatisch.

Was bei einem Funktionsaufruf passiert

Ruft ein Python-Programm eine Funktion auf, entsteht ein neuer Aufrufrahmen mit eigenen lokalen Variablen. Die Argumente werden an die Parameter gebunden, der Aufrufer wartet, bis return einen Wert zurückgibt, und danach verschwindet der Rahmen mit seinen Variablen. Bei Rekursion ruft eine Funktion sich selbst auf: g(7) und g(6) sind dann zwei verschiedene Rahmen mit je eigenem n. Alle gerade wartenden Aufrufe bilden den Aufrufstapel, der oberste arbeitet.

Was die App zeigt

Jeder Aufruf wird zu einem Raum in 3D. An der Rückwand hängt eine Code-Tafel mit der laufenden Zeile; Bedingungen erhalten ein Häkchen oder Kreuz, und eine Einsetzen-Zeile ersetzt Namen durch Werte, etwa „7 + g(6)“ wird zu „7 + 21“. Kisten auf dem Boden halten die lokalen Variablen. Argumente fliegen als Kugeln am Kabel durch die Tür hinein, Ergebnisse zurück zum Aufrufer. Bei Rekursion wachsen die Räume auf Terrassen zu einem Baum; fertige Räume lösen sich auf.

Selbst ausprobieren

Wähle ein Beispiel (g und f, Fakultät, Fibonacci) oder tippe eigenen Code ein; unterstützt werden def, Zuweisungen, if/elif/else, return und Rechenausdrücke. Dann spulst du über eine Zeitleiste, gehst Schritt für Schritt oder lässt den Ablauf abspielen. Eine Stapel-Ansicht listet alle existierenden Aufrufe, die Kamera folgt dem aktiven Raum oder zeigt den ganzen Baum.

Häufige Fragen

Was ist ein Aufrufstapel (Call Stack)?
Der Aufrufstapel speichert alle Funktionsaufrufe, die begonnen, aber noch nicht beendet sind. Jeder Eintrag (Rahmen) enthält die lokalen Variablen und die Stelle, an der es nach der Rückkehr weitergeht. Der oberste Rahmen arbeitet, alle darunter warten auf sein Ergebnis.
Wie funktioniert Rekursion?
Eine rekursive Funktion ruft sich selbst mit einem kleineren Problem auf, bis ein Basisfall ohne weiteren Aufruf erreicht ist. Dann laufen die Ergebnisse rückwärts durch die wartenden Aufrufe zurück. Bei der Fakultät etwa wartet fak(3) auf fak(2), das auf fak(1) wartet.
Was sind lokale Variablen in Python?
Variablen, die innerhalb einer Funktion zugewiesen werden, einschließlich der Parameter. Sie existieren nur im Rahmen des jeweiligen Aufrufs und verschwinden, wenn die Funktion zurückkehrt. Zwei Aufrufe derselben Funktion haben deshalb getrennte lokale Variablen.
Kann ich eigenen Code in die Funktions-Räume eingeben?
Ja, im Code-Panel. Unterstützt wird bewusst ein kleiner Teil von Python: def, Zuweisungen, if/elif/else, return, Arithmetik, Vergleiche sowie and, or und not. Schleifen, Listen und Klassen gehören nicht dazu.

Fach: Informatik

Mehr aus Informatik

Eine VisuApp von heyprof: interaktiv, kostenlos im Browser, ohne Anmeldung. Was ist eine VisuApp? · Alle Apps