[an error occurred while processing this directive]

Einführung in Wertspeicher im Rahmen der Lehre des Programmierens [] (), Lektion, Seite 720680
http://www.purl.org/stefan_ram/pub/programmieren_wertspeicher_de ist die kanonische URI dieser Seite.
Stefan Ram

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 | 
'-----------------------------' 



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

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


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

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Von der Stefan-Ram-Startseite ausgehend finden sich oft noch mehr Informationen zu Themen, die auf einer Seite angesprochen wurden. (Eine Verbindung zur Stefan-Ram-Startseite befindet sich ganz oben auf dieser Seite.)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. slrprd, PbclevtugFgrsnaEnz