Variablen und Zuweisungen
Datenverwaltung mit Variablen
Variablen dienen in der Informatik dazu, Daten zu verwalten.
Betrachte als Beispiel die Situation, in der Daten über eine Mäusepopulation verwaltet werden.
Die Population soll zum betrachteten Zeitpunkt aus 6 jungen, 9 erwachsenen und 12 alten Mäusen bestehen.
Die Daten dieser Situation lassen sich mit Hilfe von drei Variablen jung
, erwachsen
und
alt
verwalten. Die Tabelle zeigt die benutzten Variablen und die verwalteten Daten.
Variable | Datenobjekt |
---|---|
jung | 6 |
erwachsen | 9 |
alt | 12 |
Eine Variable ist ein Name, der (in der Regel) mit einem Datenobjekt verknüpft ist. Als Wert einer Variablen wird das Datenobjekt angesehen, das von der Variablen verwaltet wird.
Ein Variablenzustand beschreibt die aktuell vorliegenden Variablen mit den verwalteten Daten.
Einen Variablenzustand kann man - wie oben - mit einer Tabelle darstellen. Wir werden einen Variablenzustand auch kurz so notieren:
{jung -> 6; erwachsen -> 9; alt -> 12}
Bei der Wahl der Variablenbezeichner (d.h. der Namen, die man den Variablen gibt) ist man recht flexibel. Die folgenden Regeln beschreiben die Bezeichnerwahl in Python.
Man darf Groß- und Kleinbuchstaben wie im Beispiel jungVorher
verwenden. Beachte hier,
dass Python zwischen Groß- und Kleinschreibung unterscheidet.
Erlaubt sind auch Ziffern wie im Beispiel jung0
, sie dürfen nur nicht am Anfang eines Namens
stehen. Zudem darf man einen Unterstrich im Namen (auch am Anfang) verwenden -
wie im Beispiel gesamtanzahl_maeuse
. Weitere Sonderzeichen sind nicht erlaubt.
Umlaute sind zwar erlaubt, sollte man aber vermeiden.
Bei der Wahl der Variablenbezeichner sollte man sprechende Namen benutzen. Das sind Namen, die möglichst gut erklären, welche Daten mit den Variablen verwaltet werden.
Zuweisungen an Variablen
Das folgende Beispiel zeigt eine Zuweisung, bei der der Variablen alt
ein
neues Datenobjekt zugewiesen wird. Dieses ergibt sich,
indem man den aktuellen Wert der Variablen erwachsen
durch 3 teilt.
alt = erwachsen // 3
Eine Zuweisung ist eine Anweisung, die eine Variable mit einem neu berechneten Datenobjekt verknüpft.
Aufbau einer (einfachen) Zuweisung
Der Aufbau einer einfachen Zuweisung lässt sich am Beispiel klarmachen:

Eine einfache Zuweisung besteht somit aus einer Variablen (der ein Wert zugewiesen wird) und einem Term (der den zuzuweisenden Wert festlegt). Komplexere Zuweisungen werden erst in den weiteren Abschnitten eingeführt.
Allgemein kann man den Aufbau einer einfachen Zuweisung auch wie folgt beschreiben:
[variable] = [term]
Wir werden hier - angelehnt an Python - das Gleichheitszeichen "=" als Zuweisungszeichen benutzen.
Ausführung einer Zuweisung
Die Ausführung einer Zuweisung erfolgt nach folgendem Schema:

Schritt 1: Der Wert des Terms wird mit Hilfe des aktuellen Variablenzustands ermittelt.
Schritt 2: Der Variablen, die auf der linken Seite der Zuweisung steht, wird der ermittelte Wert des Terms als neuer Wert zugeordnet.
Beachte, dass das Gleichheitszeichen =
hier nicht die
Gleichheit von Werten beschreibt, sondern dazu führt,
dass der Variablen auf der linken Seite ein (neuer) Wert zugewiesen wird.
Trace-Tabelle
Eine Trace-Tabelle protokolliert die Veränderungen von Variablenzuständen, wenn mehrere Zuweisungen (bzw. sonstige Anweisungen) ausgeführt werden. Das folgende Beispiel zeigt eine solche Trace-Tabelle.
Zuweisung | schritt | jung | erwachsen | alt | hilf |
---|---|---|---|---|---|
schritt = 0 | 0 | ||||
jung = 6 | 0 | 6 | |||
erwachsen = 9 | 0 | 6 | 9 | ||
alt = 12 | 0 | 6 | 9 | 12 | |
schritt = schritt + 1 | 1 | 6 | 9 | 12 | |
hilf = erwachsen * 4 + alt * 2 | 1 | 6 | 9 | 12 | 60 |
alt = erwachsen // 3 | 1 | 6 | 9 | 3 | 60 |
erwachsen = jung // 2 | 1 | 6 | 3 | 3 | 60 |
jung = hilf | 1 | 60 | 3 | 3 | 60 |
Aufgabe 1: Beispiele für Zuweisungen
Die folgenden Beispiele verdeutlichen, wie die Werte von Variablen mit Hilfe von Zuweisungen verändert werden können. Gehe die Beispiele durch und ergänze jeweils den neuen Variablenzustand.
(a) Beispiel 1:
{jung -> 6} jung = 8 {jung -> ...}
Hier wird der Wert der Variablen jung
durch direkte Angabe eines neuen Werts überschrieben.
(b) Beispiel 2:
{} hilf = 3 {hilf -> ...}
Hier wird die Variable hilf
eingeführt und mit einem Wert versehen.
(c) Beispiel 3:
{jung -> 6} hilf = jung {jung -> ...; hilf -> ...}
Hier wird die Variable hilf
eingeführt. Sie erhält den Wert, den die Variable jung
aktuell hat.
(d) Beispiel 4:
{jung -> 6; erwachsen -> 9; alt -> 12} hilf = erwachsen*4 + alt*2 {jung -> ...; erwachsen -> ...; alt -> ...; hilf -> ...}
Zunächst wird hier die rechte Seite der Zuweisung ausgewertet. Die Berechnung erfolgt mit den aktuellen Werten der vorkommenden Variablen. Der berechnete Wert wird dann der Variablen auf der linken Seite der Zuweisung als neuer Wert zugewiesen.
(e) Beispiel 5:
{schritt -> 0} schritt = schritt + 1 {schritt -> ...}
Der Zuweisungsmechanismus funktioniert auch, wenn die Variable, der ein Wert zugewiesen wird, auf der rechten Seite vorkommt. Erst wird die rechte Seite mit dem aktuellen (d. h. vorherigen) Wert der Variablen ausgewertet. Der Wert der Variablen wird dann mit dem berechneten Wert überschrieben.
Aufgabe 2: Trace-Tabelle, Variablenbezeichner
Gegeben ist der folgende Python-Dialog:
>>> a = 20 >>> b = 12 >>> c = a + b >>> d = a >>> a = a // 2 + 4 * b >>> b = d // 2 + b // 2 >>> c = a + b >>> d = a >>> a = a // 2 + 4 * b >>> b = d // 2 + b // 2 >>> c = a + b
(a) Erstelle eine Trace-Tabelle zu der gezeigten Folge von Zuweisungen.
(b) Die Folge von Zuweisungen soll die Entwicklung einer Population beschreiben. Beurteile die Wahl der Variablenbezeichner.
(c) Die Population soll aus zwei Altersklassen bestehen. Beschreibe das hier benutzte Fortpflanzungsmodell mit einem geeigneten Diagramm.