Variablen, Zuweisung und Programmzustand
Variables, Assignment, and Program State
Eine Variable ist eine benannte Speicherzelle mit genau einem aktuellen Wert; eine Zuweisung liest die rechte Seite und überschreibt die linke — gerichtet und endgültig, keine Gleichung. Der Programmzustand ist der Schnappschuss aller Variablenwerte zu einem Zeitpunkt. Genau hier setzen die dokumentierten Fehlvorstellungen an (du Boulay 1986; Qian & Lehman 2017): „x = x + 1 ist unlösbar", die Zuweisung wirke in beide Richtungen, eine Variable „merke sich" alte Werte oder aktualisiere sich von selbst.
Voraussetzungen (1)
Ermöglicht (1)
Was macht die Anweisung a = 5 in einem Programm?
Wie liest man die Zuweisung x = x + 1 richtig?
Nach den Anweisungen a = 3 und danach a = 7 hat die Variable a beide Werte gespeichert.
Was bewirkt die Zuweisung a = b?
Was versteht man unter dem Zustand eines Programms?
Programm: x = 4, dann x = x * 2, dann x = x + 1. Welchen Wert hat x am Ende?
In der Zuweisung punkte = punkte + 10 bedeutet das Gleichheitszeichen dasselbe wie in der Mathematik.
Eine Variable ist eine benannte ___ im Speicher, die genau einen aktuellen Wert hält.
Programm: a = 2, dann b = a + 3, dann a = 10. Welchen Wert hat b am Ende?
Um die Werte von a und b zu vertauschen, reichen die zwei Anweisungen a = b und b = a.
Vertauschen mit Hilfsvariable: h = a, a = b, b = ?
Zwei Anweisungen: (1) a = b + 1, (2) b = 5. Kommt es auf die Reihenfolge an?
Lea sagt: „Wenn ich preis = netto * 1.19 schreibe, passt sich preis automatisch an, sobald sich netto später ändert." Was stimmt?
Programm: a = 1, b = 2, a = b, b = a. Welche Werte haben a und b am Ende?