Fachkonzept - Variablen und Zuweisungen

Datenverwaltung mit Variablen

Variablen dienen in der Informatik dazu, Daten zu verwalten.

Eine Variable ist ein Name, der (in der Regel) mit einem Datenobjekt verknüpft ist.

In der Simulation zum PageRank-Verfahren haben wir Variablen zaehler, a, b, ..., f_neu benutzt, um Daten zur Simulation des Surfverhalten von Webseitenbesuchern zu verwalten. Die Tabelle zeigt die benutzten Variablen und die zu einem bestimmten Zeitpunkt verwalteten Daten.

Variable Datenobjekt
zaehler 1
a 300
b 300
c 300
d 300
e 300
f 300
a_neu 180.0
b_neu 460.0
c_neu 580.0
d_neu 300.0
e_neu 100.0
f_neu 180.0

Als Wert einer Variablen wird das Datenobjekt angesehen, das von der Variablen aktuell verwaltet wird.

Ein Variablenzustand beschreibt die aktuell vorliegenden Variablen mit den verwalteten Daten.

Einen Variablenzustand kann - wie oben - mit einer Tabelle darstellen. Wir werden einen Variablenzustand auch kurz so notieren:

{zaehler -> 1; a -> 300; b -> 300; ...; f_neu -> 180.0}

Zuweisungen an Variablen

Mit einer Zuweisung kann man eine Variable mit einem neuen Datenobjekt verknüpfen.

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

Das folgende Beispiel zeigt eine Zuweisung, bei der der Variablen zaehler ein neues Datenobjekt zugewiesen wird.

zaehler = zaehler + 1

Der Aufbau einer Zuweisung lässt sich am Beispiel klarmachen:

Struktur einer Zuweisung

Eine Zuweisung besteht 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 Zuweisung auch wie folgt beschreiben:

[variable] = [term]

Wir werden hier - angelehnt an Python - das Gleichheitszeichen "=" als Zuweisungszeichen benutzen. Beachte, dass oft auch die Zeichenfolge ":=" oder der Pfeil als Zuweisungszeichen benutzt werden.

Die Ausführung einer Zuweisung erfolgt nach folgendem Schema:

Auswertung einer Zuweisung

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. Am besten, du liest es daher in der Form "... wird zugewiesen ...".

Mit einer Trace-Tabelle protokolliert man die Veränderung von Variablenzuständen, wenn mehrere Zuweisungen (bzw. sonstige Anweisungen) ausgeführt werden. Das folgende Beispiel zeigt eine solche Trace-Tabelle.

Zuweisung a b c d e f a_neu b_neu c_neu d_neu e_neu f_neu
a = 300 300                      
b = 300 300 300                    
c = 300 300 300 300                  
d = 300 300 300 300 300                
e = 300 300 300 300 300 300              
f = 300 300 300 300 300 300 300            
a_neu = (0.8*c)/3 + (0.2*(a+b+c+d+e+f))/6 + (0.8*f)/6 300 300 300 300 300 300 180.0          
b_neu = (0.8*a)/2 + (0.8*e) + (0.2*(a+b+c+d+e+f))/6 + (0.8*f)/6 300 300 300 300 300 300 180.0 460.0        
c_neu = (0.8*a)/2 + (0.8*b)/2 + (0.8*d) + (0.2*(a+b+c+d+e+f))/6 + (0.8*f)/6 300 300 300 300 300 300 180.0 460.0 580.0      
d_neu = (0.8*c)/3 + (0.8*b)/2 + (0.2*(a+b+c+d+e+f))/6 + (0.8*f)/6 300 300 300 300 300 300 180.0 460.0 580.0 300.0    
e_neu = 0 + (0.2*(a+b+c+d+e+f))/6 + (0.8*f)/6 300 300 300 300 300 300 180.0 460.0 580.0 300.0 100.0  
f_neu = (0.8*c)/3 + (0.2*(a+b+c+d+e+f))/6 + (0.8*f)/6 300 300 300 300 300 300 180.0 460.0 580.0 300.0 100.0 180.0
a = a_neu 180.0 300 300 300 300 300 180.0 460.0 580.0 300.0 100.0 180.0
b = b_neu 180.0 460.0 300 300 300 300 180.0 460.0 580.0 300.0 100.0 180.0
c = c_neu 180.0 460.0 580.0 300 300 300 180.0 460.0 580.0 300.0 100.0 180.0
d = d_neu 180.0 460.0 580.0 300.0 300 300 180.0 460.0 580.0 300.0 100.0 180.0
e = e_neu 180.0 460.0 580.0 300.0 100.0 300 180.0 460.0 580.0 300.0 100.0 180.0
f = f_neu 180.0 460.0 580.0 300.0 100.0 180.0 180.0 460.0 580.0 300.0 100.0 180.0
X

Fehler melden

X

Suche