Variablen: Kisten mit einem Namen
Eine Variable ist eine Kiste mit einem Namen, in der ein Programm einen Wert aufbewahrt, zum Beispiel deinen Punktestand in einem Spiel. Dieser Wert kann sich ändern.
Warum
Woher weiß ein Spiel, wie viele Punkte du hast, auch nach hundert Sprüngen und zehn Münzen?
Das Spiel muss sich deinen Punktestand irgendwo merken. Jedes Mal, wenn du eine Münze nimmst, schaut es auf den alten Punktestand, zählt etwas dazu und merkt sich den neuen.
Dieser Ort, an dem man sich etwas merkt, heißt Variable. Du kannst sie dir wie eine Kiste mit einem Etikett vorstellen: Auf dem Etikett steht der Name, in der Kiste liegt der Wert.
Sieh es
Wähle ein Programm und führe es Zeile für Zeile aus. Schau, welche Kiste sich ändert und was hineinkommt.
- noch leerscore
- noch leeriZähler
- setze score auf 0
- wiederhole 3-mal
- setze score auf score + 5
- zeige score
score = 0for i in range(3):score = score + 5print(score)
Beschreibung des Bildes
Neben einem kurzen Programm stehen Kisten mit einem Namen, wie score, a, b, temp, x und der Zähler i. Bei jedem Schritt leuchtet die Zeile auf, die gerade läuft, und die Kiste, die sich ändert, bekommt eine Markierung und ihren neuen Wert. Unten steht, was das Programm anzeigt.
Versteh es
Mit score = 0 machst du eine Kiste mit dem Namen score und legst 0 hinein. Das Zeichen = bedeutet hier nicht ist gleich, sondern: Leg in die Kiste.
Bei score = score + 5 schaut der Computer zuerst nach rechts: Was liegt gerade in score? Dazu zählt er 5. Das Ergebnis legt er zurück in dieselbe Kiste. Der alte Wert ist dann weg.
In einer Kiste liegt immer nur ein Wert. Willst du den Inhalt von zwei Kisten tauschen, brauchst du eine Hilfskiste, sonst ist ein Wert verloren.
Eine Schleife hat selbst auch eine Variable: den Zähler. In for i in range(4): bekommt i nacheinander die Werte 0, 1, 2 und 3. Du kannst i in deiner Rechnung benutzen.
Ein guter Name hilft: score oder coins sagt mehr als x. Dem Computer ist das egal, aber den Menschen, die deinen Code lesen, nicht.
naam = waarde: Rechne rechts mit den Werten von jetzt aus, leg das Ergebnis in die Kiste links. Der alte Inhalt verschwindet.
Gelöstes Beispiel
Welche Zahl zeigt dieses Programm an?
Das Programm:
score = 2 for i in range(3): score = score + 4 print(score)Zeile 1: score wird 2.
Die Schleife läuft 3-mal und zählt jedes Mal 4 dazu: 6, dann 10, dann 14.
Zeile 4 zeigt den Inhalt von score an.
- Antwort
Das Programm zeigt 14 an.
Mach es
Wähl eine Stufe. Du bekommst jedes Mal eine neue Aufgabe, die sofort kontrolliert wird.
Stolperfallen
Falsch:
score = score + 5geht nicht, denn eine Zahl ist nie um 5 größer als sie selbst.Im Code bedeutet
=nicht ist gleich, sondern: Leg in die Kiste. Zuerst wird rechts ausgerechnet, dann wird die Kiste gefüllt.Richtig: Lies
=als wird: score wird score plus 5.Falsch: Nach
a = bundb = asind a und b getauscht.Nach
a = bist der alte Wert von a nirgends mehr. Danach bekommt b einfach seinen eigenen Wert zurück.Richtig: Bewahre zuerst eine Kopie auf:
temp = a, danna = b, dannb = temp.Falsch: Eine Variable merkt sich alle ihre früheren Werte.
In eine Kiste passt ein Wert. Wer etwas Neues in die Kiste legt, wirft das Alte weg.
Richtig: Willst du frühere Werte behalten, brauchst du mehr Kisten (oder später: eine Liste).
Im Alltag
- Dein Handy speichert den Akkustand in Prozent in einer Variablen, die immer kleiner wird.
- Ein Schrittzähler zählt bei jedem Schritt 1 dazu: Schritte wird Schritte plus 1.
- Eine Kasse im Supermarkt merkt sich die Summe und zählt bei jedem Produkt den Preis dazu.
- In einem Spiel stecken deine Leben, deine Münzen und dein Level jeweils in einer eigenen Variablen.
Geschichte
Der Code in Lus ähnelt Python, einer Programmiersprache, die der Niederländer Guido van Rossum erfunden hat. Die erste Version erschien 1991. Python wird heute an vielen Schulen und in vielen Firmen benutzt.
Am Esstisch
Denkt euch zusammen ein Spiel mit drei Variablen aus, zum Beispiel Punkte, Leben und Zeit. Wann geht jede Variable nach oben oder nach unten?
Eine Frage, über die ihr gemeinsam sprecht, Eltern und Kinder. Es gibt keine falsche Antwort.