Logo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

Fackonzept - Zuweisung

Zuweisungen an Variablen

Eine Zuweisung ist eine Anweisung, die eine Variable mit einem neu berechneten Datenobjekt verknüpft.

Das folgende Beispiel zeigt zwei Zuweisungen, bei der der Variablen preis jeweils ein Datenobjekt zugewiesen wird.

preis = listenpreis
preis = preis + (preis/100)*pMwSt

Aufbau einer (einfachen) Zuweisung

Der Aufbau einer einfachen Zuweisung lässt sich anhand von Beispielen klarmachen:

Struktur einer Zuweisung Struktur einer Zuweisung

Eine einfache Zuweisung besteht aus einer Variablen (der ein Wert zugewiesen wird) und einem Berechnungsausdruck bzw. 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. 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.

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.

Zwei verschiedene Situationen lassen sich unterscheiden:

Situation 1: Die Variable existiert noch nicht. Mit der Zuweisung wird sie erzeugt und an einen Wert gebunden. Wir nennen eine solche Zuweisung eine bindende Zuweisung.

Auswertung einer Zuweisung

Situation 2: Die Variable existiert bereits. Mit der Zuweisung wird der verknüpfte Wert durch einen (ggf. anderen) ersetzt bzw. überschrieben. Wir nennen eine solche Zuweisung eine überschreibende Zuweisung.

Auswertung einer Zuweisung

Diese überschreibenden Zuweisungen führen dazu, dass Variablenwerte möglicherweise abgeändert werden. Gerade diese überschreibenden Zuweisungen machen es manchmal schwierig, Programme zu durchschauen, weil man immer den aktuellen Auswertungszeitpunkt berücksichtigen muss. In Abschnitt ??? werden wir auf diese Problematik noch einmal eingehen und Verfahren zur Lösung vorstellen.

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 listenpreis pRabatt pMwSt pSkonto preis
  159.0 5.0 19.0 2.0  
preis = listenpreis 159.0 5.0 19.0 2.0 159.0
preis = preis - (preis/100)*pRabatt 159.0 5.0 19.0 2.0 151.05
preis = preis + (preis/100)*pMwSt 159.0 5.0 19.0 2.0 179.75
preis = preis - (preis/100)*pSkonto 159.0 5.0 19.0 2.0 176.15
X

Fehler melden

X

Suche