Pascal / Delphi / Kylix Variable, Eingaben
|
|
Page updated: 28. Juli 2004
|
Inhalt: Variable - Datentypen - Eingabe - Länderspezifisch
Demoprogramm eingabe.java
Namensbildung: Wie bei C.
Deklaration von Variablen: Variable müssen
deklariert (vereinbart) werden, bevor man sie im Programm benutzen
kann. Die Deklaration erfolgt gleich zu Beginn des Rumpfes der
Methode main(), lokale Deklaration genannt. Bei der Deklaration
legt man Namen der Variablen und ihren Datentyp fest. Mehrere
Variablen gleichen Typs können mit einer Deklaration
vereinbart werden. Deklarierte Variable werden bei numerischen
Datentypen mit 0, bei alphanumerischen Datentypen mit einer leeren
Zeichenkette vorinitialisiert.
Datentypen. |
TOP 
|
Es gelten die folgenden Bezeichnungen für Datentypen:
Datentypen |
Byte |
Wertebereich |
Byte |
1 |
0 ... 255 |
Word |
2 |
0 ... 65535 |
Shortint |
1 |
-128 ... 127 |
Integer *)
|
2 oder 4 |
-32768 .. 32767 oder -2147483648 ... 2147483647 |
Longint |
4 |
-2147483648 ... 2147483647 |
Real *)
|
4 oder 8
|
siehe Compilermanual
|
Single |
4 |
±1.5E-45 ... ±3.4E38
|
Double |
8 |
±5.0E-324 ... ±1.7E308 |
Extended |
10 |
±1.9E-4951 ... ±1.1E4932 |
String |
1 .. 255 |
Bis zu 255 Zeichen aus dem Zeichensatz.
|
Boolean
|
1
|
true,
false |
*) In Abhängigkeit von Plattform bzw. Compiler
(siehe Referenzmanual des Compilers).
Eingabeprozedur
readln. |
TOP 
|
Die Eingabe erfolgt mit der readln Prozedur. Es können mehrere
Variable mit einem readln eingelesen werden: Bei der eigentlichen
Eingabe über die Tastatur müssen dann die Werte mit
Leerzeichen voneinander getrennt werden.
- Syntax:
<readln Prozedur> ::= readln(<Variable> [, ...]);
Bei einem Eingabefehler bricht das Programm mit einem
Laufzeitfehler ab. Wollen Sie dies vermeiden, so müssen
Sie:
- Vor dem readln Aufruf die I/O Laufzeitüberwachung
mit einer Compilerdirektive abschalten:
{$I-}
- Den Aufruf von readln in eine Schleife wiederholen, bis kein
Fehler mehr vorliegt. Dazu wird die Systemvariable IOResult
überprüft. Sie nimmt den Wert 0 an, wenn kein Fehler
vorliegt.
repeat <readln
Prozedur>; until
IOResult=0;
- Nach dem wiederholenden readln Aufruf die I/O
Laufzeitüberwachung mit einer Compilerdirektive wieder
anschalten:
{$I+}
Im Demoprogramm ist dies für die erste ganzzahlige Eingabe
realisiert. Geben Sie bei Programmausführung statt einer
ganzen Zahl einen Text ein, wird er ignoriert bis Sie eine
gültige Zahl eingeben.
Im Gegensatz dazu bricht das Programm mit einem Laufzeitfehler ab,
wenn Sie einen Text bei der Eingabe einer Kommazahl eintippen.
Landesspezifische
Eingabe. |
TOP 
|
Sie haben keine direkte Möglichkeit, um landesspezifische
Standards bei Eingaben (Dezimalkomma) zu setzen. Alternativ
könnten Sie die Eingabe als Zeichenkette vornehmen, nach der
Eingabe der Zeichenkette das Komma durch einen Dezimalpunkt vor der
Umwandlung in eine reelle Zahl austauschen und dann die
Zeichenkette in die reelle Zahl umwandeln.
Dr. J. Kubiak j.kubiak@gmx.net