Programme Schritt für Schritt verfolgen

Tracing Programs Step by Step

Informatik Klasse 9 14 Aufgaben
InformatikProgrammierungAlgorithmenKerncurriculum

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.

Leicht
Multiple Choice #1 15s ▶ Testen

Programm: x = 2, dann x = x * 3, dann x = x + 1. Welche Spalte der Variablentabelle zeigt die Werte von x nach jedem Schritt?

  • ○ 2 | 5 | 6
  • ● 2 | 6 | 7
  • ○ 2 | 3 | 1
Eine Variablentabelle hält nach jeder Zeile fest, welchen Wert die Variable gerade hat: 2, dann 2 · 3 = 6, dann 6 + 1 = 7. Wer 2 | 5 | 6 notiert, hat * als + gelesen; wer 2 | 3 | 1 notiert, hat die Zahlen aus dem Code abgeschrieben statt die neuen Werte.
Lückentext #2 25s ▶ Testen

Verfolge: summe = 0, dann wiederhole für i = 1 bis 3: summe = summe + i. Welchen Wert hat summe am Ende?

✓ Antwort: 6
Drei Durchläufe: 0 + 1 = 1, dann 1 + 2 = 3, dann 3 + 3 = 6. Die Variable sammelt Schritt für Schritt.
Multiple Choice #3 15s ▶ Testen

Programm: x = 8. WENN x > 10: gib "groß" aus, SONST: gib "klein" aus. Was wird ausgegeben?

  • ● klein
  • ○ groß
  • ○ nichts
Die Bedingung x > 10 ist mit x = 8 falsch — also läuft der SONST-Zweig. Genau einer der beiden Zweige wird ausgeführt, nie beide.
Multiple Choice #4 20s ▶ Testen

Programm: x = 3, y = 4. WENN x > y: gib x aus, SONST: gib y aus. Was leistet dieses Programm?

  • ● Es gibt die größere der beiden Zahlen aus
  • ○ Es gibt immer y aus
  • ○ Es vertauscht x und y
Durch das Verfolgen beider Fälle erkennt man den Zweck — hier wird das Maximum bestimmt. Lesen und Verstehen kommt vor dem Selberschreiben.
Multiple Choice #5 15s ▶ Testen

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?

  • ○ b = 9
  • ○ b = 14
  • ● b = 5
Zeile für Zeile: a = 5; b bekommt den Wert von a, also 5; danach wird nur a auf 9 gesetzt — b bleibt 5. Der Rechner führt die Anweisungen wörtlich aus. Beim Überfliegen vermutet man leicht, dass b „an a hängt“; die Variablentabelle zeigt, was wirklich passiert.
Wahr / Falsch #6 12s ▶ Testen

Wenn ein Programm etwas anderes ausgibt als erwartet, hat sich meistens der Computer verrechnet.

✓ Falsch
Falsch — die Maschine führt exakt aus, was dasteht. Die Abweichung liegt fast immer zwischen dem, was gemeint war, und dem, was programmiert wurde. Verfolgen macht diese Lücke sichtbar.
Lückentext #7 20s ▶ Testen

Programm: wert = 1. WIEDERHOLE 3-mal: wert = wert * 2. Welchen Wert hat wert am Ende?

✓ Antwort: 8
Verdoppeln in drei Durchläufen: 1 → 2 → 4 → 8.
Mittel
Lückentext #1 25s ▶ Testen

Programm: z = 10. SOLANGE z > 4: z = z − 2. Welchen Wert hat z, wenn die Schleife endet?

✓ Antwort: 4
z läuft 10 → 8 → 6 → 4. Bei z = 4 ist die Bedingung z > 4 falsch, die Schleife stoppt — z bleibt 4.
Multiple Choice #2 20s ▶ Testen

Wann prüft eine SOLANGE-Schleife (while) ihre Bedingung?

  • ● Jeweils vor einem neuen Durchlauf — nicht mitten im Schleifenkörper
  • ○ Ununterbrochen, auch während der Schleifenkörper läuft
  • ○ Nur ein einziges Mal ganz am Anfang
Die Bedingung wird zu festen Zeitpunkten ausgewertet. Wird sie mitten im Durchlauf falsch, läuft der Durchlauf trotzdem zu Ende — erst dann wird neu geprüft.
Wahr / Falsch #3 18s ▶ Testen

Programm: a = 1. SOLANGE a > 5: a = a + 1. Der Schleifenkörper wird mindestens einmal ausgeführt.

✓ Falsch
Falsch — die Bedingung a > 5 ist schon beim ersten Prüfen falsch (a = 1). Der Körper wird null Mal ausgeführt; eine while-Schleife kann komplett übersprungen werden.
Lückentext #4 20s ▶ Testen

Wie oft wird der Schleifenkörper ausgeführt? WIEDERHOLE für i = 3 bis 7: …

✓ Antwort: 5
i nimmt die Werte 3, 4, 5, 6, 7 an — das sind 7 − 3 + 1 = 5 Durchläufe. Beim Abzählen von Durchläufen lauern klassische „um eins daneben"-Fehler.
Wahr / Falsch #5 20s ▶ Testen

Programm: n = 5. SOLANGE n ≠ 0: n = n − 2. Diese Schleife endet irgendwann.

✓ Falsch
Falsch — n läuft 5 → 3 → 1 → −1 → … und trifft die 0 nie. Die Bedingung bleibt für immer wahr, eine Endlosschleife.
Lückentext #6 25s ▶ Testen

Verfolge: a = 2, b = 5. a = a + b, dann b = a − b. Welchen Wert hat b am Ende?

✓ Antwort: 2
Nach a = a + b ist a = 7. Dann b = 7 − 5 = 2. Wichtig: Die zweite Zeile rechnet schon mit dem NEUEN a.
Multiple Choice #7 25s ▶ Testen

Programm: zaehler = 0. WIEDERHOLE für i = 1 bis 4: WENN i gerade ist: zaehler = zaehler + 1. Welchen Wert hat zaehler am Ende?

  • ● 2
  • ○ 4
  • ○ 1
Nur bei i = 2 und i = 4 ist die Bedingung wahr — der Zähler wird genau zweimal erhöht.