Variablen

Previous  Next

 

 

 

18.02.2010

Variablen

 

In jeder Software-Anwendung werden Berechnungen durchgeführt sowie eine Vielzahl von Daten und Objekten gespeichert und verarbeitet. Neben dem Prozessor, der für Berechnungen zuständig ist und der Datenbank, welche große Datenbestände dauerhaft speichern kann, ist der Hauptspeicher das Zentrum einer Anwendung wo sich alles abspielt. Hier werden Zahlen für Berechnungen, Berechnungsergebnisse, Datensätze, komplexe Datenstrukturen und große Daten-Objekte zwischengespeichert.

 

In den früheren Programmiersprachen wie Assembler, das auch heutzutage noch in speziellen Fällen zum Einsatz kommt, mussten Programmierer noch selber festlegen, wo genau im Speicher die Daten abgelegt werden sollen und wie groß die Speicherstelle sein muss, um die entsprechenden Daten dort unterzubringen. Bevor man dann seine Daten dort ablegen durfte, musste der Speicher reserviert sprich gegen den Zugriff anderer Programmroutinen geschützt werden. Um Daten nur zu kopieren, mussten die Speicherstellen aufwändig ausgelesen werden. Dies alles war nicht nur furchtbar programmieraufwändig, sondern erforderte zudem tiefste Kenntnisse über die interne Speicherverwaltung des Computers sowie über die komplizierte Speicherprogrammierung mit all ihren Tücken. Bereits kleinste Fehler führten oftmals schon zu Programmabstürzen.

 

In modernen Hochsprachen und erst recht in den unmittelbar von Java abgeleiteten XDEV-Sprachdialekten ist das Zwischenspeichern von Daten im Hauptspeicher dank Variablen mittlerweile einfach. Mit der Definition einer Variable, z.B. Int summe, wird automatisch eine entsprechende Speicherstelle im Hauptspeicher reserviert, die sich über einen frei wählbaren Variablen-Namen ansprechen lässt. D.h., der Variablen-Name summe dient als Platzhalter für eine Speicherstelle irgendwo im Hauptspeicher. Durch die Angabe eines Variablen-Typs, z.B. Int (für Integer = Ganzzahl), ergibt sich automatisch die Speichergröße, die der Variable für die Speicherung von Daten maximal zur Verfügung steht. Wo genau nun sich diese Speicherstelle befindet, darum müssen Sie sich nicht mehr kümmern, denn die komplette Speicherverwaltung übernimmt der Compiler für Sie.

 

 

» Variablen definieren «

Um eine Variable benutzen zu können, müssen Sie diese zuerst beim System anmelden, sprich definieren. Bei der Definition müssen Sie immer zuerst den Datentyp der neuen Variable angegeben. Danach folgt dann der Name der Variable. Bei der späteren Verwendung der Variable müssen Sie den Typ nicht mehr mit angeben. Es genügt der Variablen-Name. Da jede Variable nur 1 Wert speichern kann, werden Variablen auf Grund ihrer einfachen Struktur auch als primitive Datentypen bezeichnet.

 

hmtoggle_plus1XDEV Object Language

1

2

Int wert;

wert = 100;

hmtoggle_plus1XDEV Basic

1

2

Int wert;

wert = 100;

hmtoggle_plus1XDEV NLS

1

2

Ganzzahl wert

wert = 100

 

 

» Namensgebung «

Der Variablen-Name kann völlig frei gewählt werden und darf auch mehrere Zeichen umfassen, z.B. wert. Groß- und Kleinschreibung ist ebenso erlaubt wie die Verwendung von Ziffern und Umlauten, z.B. Wert, wert1, länge. Zwischen Groß- und Kleinschreibung wird streng unterschieden, z.B. sind wert und Wert zwei unterschiedliche Variablen. Als einziges Sonderzeichen ist der Unterstrich erlaubt, z.B. gesamt_wert. Allerdings muss der Variablen-Name immer eindeutig sein, d.h. in einem Programmabschnitt dürfen nicht mehrere Variablen mit demselben Namen vorkommen, selbst wenn diese sich im Typ unterscheiden. Existiert z.B. bereits eine Variable wert vom Typ hmtoggle_plus1 Int | XDEV NLS: Ganzzahl, dann ist die Definition einer weiteren Variable wert vom Typ hmtoggle_plus1 Decimal | XDEV NLS: Fließkommazahl nicht erlaubt.

 

Erlaubte Namen

Erklärung

Int x;

Int x

Ganzzahl x

 

Ein Variablen-Name kann aus nur 1 Buchstaben bestehen.

 

Int wert;

Int wert

Ganzzahl wert

 

Ein Variablen-Name kann aus nahezu beliebig vielen Zeichenfolgen bestehen. Auch Umlaute sind erlaubt.

 

Int Wert;

Int Wert

Ganzzahl Wert

 

 

In einem Variablen-Namen ist Groß- und Kleinschreibung erlaubt.

Int WERT;

Int WERT

Ganzzahl WERT

 

 

Ein Variablen-Name kann wahlweise auch nur aus Großbuchstaben bestehen.

Int wert1;

Int wert1

Ganzzahl wert1

 

Ein Variablen-Name darf auch Ziffern enthalten. Ein Variablen-Name der jedoch nur aus Ziffern besteht, ist nicht zulässig.

 

Int gesamt_wert;

Int gesamt_wert

Ganzzahl gesamt_wert

 

Ein Variablen-Name kann sich auch auch mehreren Begriffen zusammensetzen, die mit einem Unterstrich verbunden sind. Andere Sonder- sowie Leerzeichen sind jedoch nicht erlaubt.

 

 

» Wertzuweisung «

Die Wertzuweisung (Initialisierung) kann wahlweise bereits bei der Variablen-Definition oder erst später mit einer separaten Anweisung erfolgen. Bei der Wertzuweisung steht der Variablen-Name immer links vom = Zeichen, während der Wert immer rechts davon stehen muss. Als Wert können Sie in einer Variable nicht nur einen festen Wert zuweisen, z.B. eine Zahl, sondern auch eine andere Variable die einen Wert enthält oder eine Funktion, die nach Ausführung ein Ergebnis zurück gibt (Rückgabewert) , z.B. eine Funktion zur Berechnung einer Zufallszahl. Dabei müssen Sie jedoch darauf achten, dass der Rückgabewert der Funktion vom passenden Datentyp ist. Ansonsten kommt es zu einer Fehlermeldung. In der XDEV 2 Funktionsbibliothek finden Sie deshalb bei jeder Funktion die Angabe des Datentyps des Rückgabewertes. Deshalb finden Sie bei jeder Funktion den Zusatz, von welchem Datentyp der Rückgabewert ist, z.B. hmtoggle_plus1 random( ) Decimal | XDEV NLS: zufallsZahl( ) Fließkommazahl.

 

Wert-Zuweisung

Erklärung

Absoluter Wert

 

Int wert = 100;

Int wert = 100

Ganzzahl wert = 100

 

Variable

Int wert = alterWert;

Int wert = alterWert

Ganzzahl wert = alterWert

 

Funktion

Decimal zufallszahl = random();

Decimal zufallszahl = random()

Fließkommazahl wert = zufallsZahl( )

 

Die Funktion hmtoggle_plus1 random( ) | XDEV NLS: zufallsZahl( ) erzeugt bei ihrer Ausführung eine zufällige Fließkommazahl zwischen 0 und 1.

 

Da Fließkommazahlen sehr viele Nachkommastellen besitzen können und somit aus deutlich mehr Ziffern bestehen können als Ganzzahlen, muss für die Speicherung einer Fleißkommazahl mehr Speicher reserviert werden, was mit der Definition einer Variable vom Typ Decimal automatisch passiert. Die Funktion finden Sie in der Funktionsbibliothek bei Math.