Programmiersprache Pascal

Attribute von Datenelementen

In imperativen Programmiersprachen wie PASCAL, C, FORTRAN, usw. lassen sich Datenelemente durch ein Tupel charakterisieren:
  (L, N, V, T)
Dabei bedeuten
                              Typ-Raum
                  T +---------------------------+
                    |     Werte   Operatoren    |
                    |  +---------------------+  |
                    |  |  V      |           |  |
                    |  +---------------------+  |
                    |        :                  |
                    +--------:------------------+
                             :     :
                Wert-Bindung :     : Typ-Bindung
    L                        :     :                           N
  +-----------+            +============+            +-----------+
  |           |            |   Daten-   |            |           |
  | Speicher- |............|   element  |............|  Namens-  |
  |           | Speicher-  +============+  Namens-   |           |
  |   raum    | Bindung                    Bindung   |   raum    |
  |           |                                      |           |
  +-----------+                                      +-----------+
Der Aufbewahrungsort (Speicherbereich) ist gekennzeichnet durch Zu unterscheiden ist, auf welche Weise die Bindung eines Datenelements an einen Speicherbereich erfolgt (der Speicherbereich erhält eine absolute Adresse): Einige Beispiele

Bei einigen Systemen können Überlagerungsstrukturen (overlays) aufgebaut werden, d.h. bestimmte Programmsegmente befinden sich alternativ im Speicher (z.B. bei knappen Speicherressourcen unter DOS). Die Speicherbereiche der in solchen Programmsegmenten enthaltenen Datenelemente werden auf einem externen Medium gesichert. Es ist gewährleistet, daß der Inhalt von Speicherbereichen, die "legal" mit Werten belegt wurden, nicht verloren geht. Keine Sicherheit besteht im allgemeinen bei Speicherbereichen, die "unbelegt" sind.

Beim Namen (Bezeichner, identifier) ist zu beachten

Der Wert wird durch den Inhalt des Speicherbereiches gebildet.
In diesem Zusammenhang sind von Bedeutung Zu beachten ist, ob und wie der Speicherbereich initialisiert wird, d.h. wie der Inhalt des Speicherbereichs unmittelbar nach seiner Bereitstellung für das Programm aussieht (Erstwert).
Es gibt dabei folgende Möglichkeiten Datenelemente enthalten bei imperativen Programmiersprachen immer einen Wert !
Konstanten sind immer mit "ihrem" Wert initialisiert.
Variablen enthalten im allgemeinen einen zufälligen Erstwert, wenn nicht durch den Programmierer explizit ein Anfangswert vorgegeben wird.

Bemerkung:
Die Anfangswertzuweisung erfolgt durch eine spezielle syntaktische Konstruktion !
Eine Ergibtanweisung bewirkt immer eine Wertveränderung und keine Anfangswertzuweisung !

Ein Datenelement ist in der Regel immer an einen Datentyp gebunden. Typenlose Datenelemente, deren Inhalt je nach Bedarf interpretiert wird, sind in vielen Sprachen nicht zulässig.
Der Umgang mit typenlosen Datenelementen birgt wegen fehlender Kontrollmöglichkeiten ein erhöhtes Fehlerrisiko in sich.

Eine Variable bezeichnet einen bestimmten Speicherbereich, dessen Inhalt (der Wert der Variablen) veränderlich ist.
Eine Konstante besitzt ähnliche Eigenschaften wie eine Variable, nur ist ihr Wert nicht veränderbar.

Eine Variable/Konstante besitzt folgende Attribute:

Der wichtigste Unterschied zwischen Variablen und Konstanten liegt in dem Zugriffsrecht:
Der Wert einer Variablen ist veränderbar, der Wert einer Konstanten kann nicht verändert werden.

Bei Konstanten sind zu unterscheiden:



P. Böhme, 09.09.1996