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:
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.
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.
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 |