Programme Schritt fĂŒr Schritt verfolgen
Programm: x = 2, dann x = x * 3, dann x = x + 1. Welche Spalte der Variablentabelle zeigt die Werte von x nach jedem Schritt?
ErklÀrung: 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.
Verfolge: summe = 0, dann wiederhole fĂŒr i = 1 bis 3: summe = summe + i. Welchen Wert hat summe am Ende?
ErklĂ€rung: Drei DurchlĂ€ufe: 0 + 1 = 1, dann 1 + 2 = 3, dann 3 + 3 = 6. Die Variable sammelt Schritt fĂŒr Schritt.
Programm: x = 8. WENN x > 10: gib "groĂ" aus, SONST: gib "klein" aus. Was wird ausgegeben?
ErklĂ€rung: 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.
Programm: z = 10. SOLANGE z > 4: z = z â 2. Welchen Wert hat z, wenn die Schleife endet?
ErklĂ€rung: z lĂ€uft 10 â 8 â 6 â 4. Bei z = 4 ist die Bedingung z > 4 falsch, die Schleife stoppt â z bleibt 4.
Wann prĂŒft eine SOLANGE-Schleife (while) ihre Bedingung?
ErklĂ€rung: 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.
Programm: a = 1. SOLANGE a > 5: a = a + 1. Der Schleifenkörper wird mindestens einmal ausgefĂŒhrt.
ErklĂ€rung: 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.
Wie oft wird der Schleifenkörper ausgefĂŒhrt? WIEDERHOLE fĂŒr i = 3 bis 7: âŠ
ErklĂ€rung: 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.
Programm: x = 3, y = 4. WENN x > y: gib x aus, SONST: gib y aus. Was leistet dieses Programm?
ErklĂ€rung: Durch das Verfolgen beider FĂ€lle erkennt man den Zweck â hier wird das Maximum bestimmt. Lesen und Verstehen kommt vor dem Selberschreiben.
Programm: n = 5. SOLANGE n â 0: n = n â 2. Diese Schleife endet irgendwann.
ErklĂ€rung: Falsch â n lĂ€uft 5 â 3 â 1 â â1 â ⊠und trifft die 0 nie. Die Bedingung bleibt fĂŒr immer wahr, eine Endlosschleife.
Verfolge: a = 2, b = 5. a = a + b, dann b = a â b. Welchen Wert hat b am Ende?
ErklĂ€rung: Nach a = a + b ist a = 7. Dann b = 7 â 5 = 2. Wichtig: Die zweite Zeile rechnet schon mit dem NEUEN a.
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?
ErklĂ€rung: 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.
Programm: zaehler = 0. WIEDERHOLE fĂŒr i = 1 bis 4: WENN i gerade ist: zaehler = zaehler + 1. Welchen Wert hat zaehler am Ende?
ErklĂ€rung: Nur bei i = 2 und i = 4 ist die Bedingung wahr â der ZĂ€hler wird genau zweimal erhöht.
Wenn ein Programm etwas anderes ausgibt als erwartet, hat sich meistens der Computer verrechnet.
ErklĂ€rung: 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.
Programm: wert = 1. WIEDERHOLE 3-mal: wert = wert * 2. Welchen Wert hat wert am Ende?
ErklĂ€rung: Verdoppeln in drei DurchlĂ€ufen: 1 â 2 â 4 â 8.