Programme Schritt für Schritt verfolgen
Tracing Programs Step by Step
Nachvollziehen (Tracing) heißt, ein Programm Zeile für Zeile so auszuführen, wie es die Maschine tut — die „notional machine" nach Sorva 2013: mit einer Variablentabelle den Zustand fortschreiben, Bedingungen am Prüfzeitpunkt auswerten, Schleifendurchläufe zählen und die Ausgabe vorhersagen. Es ist eine eigene Kompetenz, die dem Schreiben vorausgeht: Lister et al. 2004 zeigen, dass viele Lernende Code schreiben wollen, den sie nicht lesen können. Räumt die Vorstellung aus, eine Schleifenbedingung werde „ständig überwacht" oder das Programm wisse selbst, was gemeint ist.
Voraussetzungen (1)
Ermöglicht (4)
Programm: x = 2, dann x = x * 3, dann x = x + 1. Welche Spalte der Variablentabelle zeigt die Werte von x nach jedem Schritt?
Verfolge: summe = 0, dann wiederhole für i = 1 bis 3: summe = summe + i. Welchen Wert hat summe am Ende?
Programm: x = 8. WENN x > 10: gib "groß" aus, SONST: gib "klein" aus. Was wird ausgegeben?
Programm: x = 3, y = 4. WENN x > y: gib x aus, SONST: gib y aus. Was leistet dieses Programm?
Programm: a = 5, dann b = a, dann a = 9. Ben überfliegt den Code und sagt: „b ist am Ende 9.“ Welchen Wert hat b laut Variablentabelle?
Wenn ein Programm etwas anderes ausgibt als erwartet, hat sich meistens der Computer verrechnet.
Programm: wert = 1. WIEDERHOLE 3-mal: wert = wert * 2. Welchen Wert hat wert am Ende?
Programm: z = 10. SOLANGE z > 4: z = z − 2. Welchen Wert hat z, wenn die Schleife endet?
Wann prüft eine SOLANGE-Schleife (while) ihre Bedingung?
Programm: a = 1. SOLANGE a > 5: a = a + 1. Der Schleifenkörper wird mindestens einmal ausgeführt.
Wie oft wird der Schleifenkörper ausgeführt? WIEDERHOLE für i = 3 bis 7: …
Programm: n = 5. SOLANGE n ≠ 0: n = n − 2. Diese Schleife endet irgendwann.
Verfolge: a = 2, b = 5. a = a + b, dann b = a − b. Welchen Wert hat b am Ende?
Programm: zaehler = 0. WIEDERHOLE für i = 1 bis 4: WENN i gerade ist: zaehler = zaehler + 1. Welchen Wert hat zaehler am Ende?