Wertspeicher
Ein Wertspeicher enthält zu jedem Zeitpunkt einen bestimmten Wert. Ein Wertspeicher hat eine bestimmte Lebenszeit: Er kann erzeugt und vernichtet werden, also entstehen und vergehen.
Einen Wertspeicher kann man sich wie einen Behälter für einen Wert vorstellen. Etwa so wie einen Plastikbecher für Lottokugeln, in dem immer genau eine bestimmte Kugel liegt.
Wertspeicher als Behaelter fuer einen Wert. .
| _____ Wert | Wertspeicher
| .-' '-. |
| .' # ## '. |
| / ## # # \ |
| ; # # # ; |
| | # # | |
| ; # # ; |
| \ # # / |
' '. ### ######.' '
\ '-._____.-' /
'-------------------'
Zu einem Wertspeicher gehört ein bestimmter Datentyp : Der Wertspeicher kann immer nur einen Wert dieses Datentyps enthalten.
Die Abhängigkeit von der Zeit wird in dem Diagramm "Ein Wertspeicher" durch ein eingeklammertes kleines T angedeutet: Der Wert, den ein Wertspeicher enthält, kann im Laufe der Zeit verändert werden.
Neben seinem Datentyp kann ein Wertspeicher manchmal noch weiter Eigenschaften haben, die hier zunächst nicht weiter behandelt werden, aber der Vollständigkeit halber in der Abbildung "Ein Wertspeicher" dargestellt werden.
Ein Wertspeicher [UML, static structure diagram].-----------------------------.
| weitere Eigenschaften |
'-----------------------------'
A
|
|
.--------------. * enthaelt(t) > 1 .---------.
| Wertspeicher |------------------------->| Wert(t) |
'--------------' '---------'
| * |
| |
| Typ |
| V |
| |
V 1 |
.-----------------------------. < gehoert zu |
| Datentyp (moegliche Werte) |<---------------------'
'-----------------------------'
Der Zustand eines Wertspeichers ist also veränderlich (zeitabhängig).
Eine Einstellung eines Wertspeichers auf einen bestimmten Inhalt kann man auch als Präparation bezeichnen. Man sagt auch der Inhalt werde in den Wertspeicher geschrieben oder diesem zugewiesen, weswegen man eine solche Präparation auch Zuweisung nennt.
Präparation eines Wertspeichers [Kompassdiagramm].---------------.
Neuer Zustand des Wertspeichers ---------->| Präparation |
'---------------'
|
| schreiben
V
.---------------.
| Wertspeicher |
'---------------'
Ein Wertspeicher ist so stabil, daß sich sein Zustand ohne die gewollte Einwirkung der Präparation nicht verändert. Daher bleibt der einmal gespeicherte Inhalt während der Lebenszeit des Wertspeichers bis zur nächsten Präparation erhalten.
Die Ermittlung des Inhaltes eines Wertspeichers kann man auch als Messung (oder Auslesen) bezeichnen.
Messung eines Wertspeichers [Kompassdiagramm].---------------.
| Wertspeicher |
'---------------'
| lesen
|
V
.---------------.
| Messung |----------> Zustand des Wertspeichers
'---------------'
Die vier fundamentalen Möglichkeiten zum Umgang mit einem Wertspeicher sind also die Erzeugung des Wertspeichers, das Schreiben eines Wertes in den Wertspeicher, das Lesen eines Wertes aus dem Wertspeicher und das Vernichten des Wertspeichers.
Mit den Datentypen stellen viele Programmiersprachen Wertemengen für Wertspeicher bereit, so daß man jeweils einen Wert der Wertemenge in einem Wertspeicher speichern kann. Klassisch ist beispielsweise der Datentyp für ganze Zahlen, der es erlaubt eine ganze Zahl aus einem bestimmten Wertebereich in einem Wertspeicher zu speichern, beispielsweise die Zahl 22.
Ein ganzzahliger Wertspeicher [UML, static structure diagram].----------------. * Zustand(0) > 1(t).----.
| Wertspeicher 0 |--------------------->| 22 |
| -------------- | | -- |
'----------------' '----'
| *
|
| Zustandsmenge (Wertebereich, Typ)
| V
V 1
.--------------------------------------.
| ganze Zahlen von -32768 bis +32767 |
'--------------------------------------'
Ein Wertspeicher hat außer seinem Zustand kein weiteres Gedächtnis: Mit einem neuen Zustand ist der vorherige Zustand verloren gegangen. Daher kann man auch sagen, daß die Einstellung eines bestimmten Wertes den vorherigen Wert löscht. Ein numerischer Wertspeicher ist also nicht etwa dann gelöscht, wenn sein Wert 0 ist. Der vorherige Wert eines Wertspeichers ist gelöscht, wenn er mit einem vom vorherigen Wert unabhängigen neuen Wert präpariert wurde (selbst wenn der neue Wert dem vorherigen Wert gleich ist).
Wenn mehrere Werte eines Wertspeichers zeitlich aufeinanderfolgen, so kann man auch sagen, daß ein Vorgang (Prozeß, Ablauf) geschieht. Tatsächlich spielen Wertspeicher in den prozeduralen (prozeßorientierten, imperativen) Programmiersprachen eine große Rolle. So kann ein bestimmter Wertspeicher beispielsweise zunächst den Wert 22 und später den Wert 17 enthalten.
Ein Vorgang.--------------------------------------------------.
| Zeitpunkt 0 |
| .----------------. Wert(0) > .----. |
| | Wertspeicher 0 |----------------------| 22 | |
| | -------------- | | -- | |
| '----------------' '----' |
|--------------------------------------------------|
| Zeitpunkt 1 |
| .----------------. Wert(1) > .----. |
| | Wertspeicher 0 |----------------------| 17 | |
| | -------------- | | -- | |
| '----------------' '----' |
'--------------------------------------------------'