Variablen-Typen Turbo Pascal

aus Paswiki Turbo Pascal, der freien Wissensdatenbank

Inhaltsverzeichnis

Beschreibung

Fast alle Informationen in einem Programm werden in einem der fünf Grundlegenden Variablentypen gespeichert.


Variablentypen
Variablentyp Erklärung
Integer ganze Zahlen wie -1, 5, 300
Gleitkommazahlen Werte, die Bruchteile ganzer Zahlen enthalten und entweder in Komma oder Exponenzialschreibweise dargestellt werden. (Realzahlen)
Text Einzelne Zeichen z.B. 'a',' b',' !' aber auch Zeichenfolgen, 'Ich bin eine Zeichenfolge!'
Wahrheitswerte (Booleans) können nur entweder den Wert True (wahr) oder False(falsch) annehmen.
Zeiger (Pointer) enthalten keinen Wert sondern die Adresse einen Speicherbereichs welcher den Wert enthält. Zeiger zeigen also auf Werte.


Einige Variablentypen kann man noch einmal unterrteilen in verschiedenen Unterarten:

Die fünf Integer-Typen

Vordefinierte Integertypen
Typ Bereich Speicherbelegung
ShortInt -128..127 1 Byte
Integer -32768..32767 2 Bytes
LongInt -2147483648..2147483647 4 Bytes
Byte 0..255 1 Byte
Word 0..65535 2 Bytes

In Turbo Pascal kann man die Zahlen auch in hexadezimaler Schreibweise angeben, dazu muss mann ein ($) voranstellen. $FF ist also 255

Die fünf Real-Typen

Eine Reale Zahl setzt sich aus drei Elementen zusammen: dem Vorzeichen, der Mantisse (Dezimalbruch) und dem Exponenten. Je mehr Dezimalstellen die Mantisse hat, desto genauer wird die Zahl angegeben. Normalerweise speichert Turbo Pascal Fließkommazahlen mit 6 Bytes und stellt rund 11 Dezimalstellen zur Verfügung. Der zulässige Bereich geht von +/- 10 Exp-38 bis +/- 10 Exp38. Wenn man den Compilerschalter {$N+} aktiviert, stellt Pascal 5 verschiedene Reale Variablen dar.

Wertebereich vordefinierter Real-Typen
Typ Bereich Genauigkeit Format
Real 2.9*10-39 bis 1.7*1038 11-12 Stellen 6 Bytes
Single 1.5*10-45 bis 3.4*1038 7-8 Stellen 4 Bytes
Double 5.0*10-324 bis 1.7*10308 15-16 Stellen 8 Bytes
Extended 1.9*10-4951 bis 1.1*104932 19-20 Stellen 10 Bytes
Comp -9.2*1018 bis 9.2*1018 18-19 Stellen 8 Bytes

Zeichen und Zeichenketten

Einzelne Zeichen werden mit dem Variablentyp char gespeichert und belegen jeweils ein Byte Char-Konstanten bestehen aus einem Zeichen das mit Hochkomma eingeschlossen ist z.B. ('a'). Char wird besonders gerne benutzt für Tastaturabfragen:

...
Writeln('Wollen sie die Datei wirklich löschen? (J/N): ');
Readln(Ch);
if (Ch='J') or (Ch='j')
 then ...

Hier ist Ch eine Variable vom Typ Char. Zu erkennen ist auch: J und j sind nicht identisch.

Ein String setzt sich aus vielen Char variablen zusammen und ist so eine Zeichenkette. Beispiel:

Program string;
var Ort: String[100];

begin
writeln('Wo wohen sie?');
readln(ort);
Writeln('Wie wohnen in',Ort);
end.

Durch die Klammern [] wird die maximale Länge des Sting festgelegt. Wenn man einen String mit der länge [40] deklariert, werden 41Byte für die Variable reserviert, da in den zusätzlichen Byte die momentane Länge des String gespeichert wird. Da die Länge nur in einem Byte gespeichert wird, ist ein String max. 255 Byte lang. Sting-Konstanten bestehen aus einer Zeichenfolge, die mit Hochkommas eingeschlossen werden muss. Ein hochkomma innerhalb der Zeichenfolge wird durch zwei aufeinanderfolgende Hochkommas dargestellt.

Writeln('That''ss it');

Der Datentyp Boolean

Eine Variable vom Typ Boolean belegt einen Speicherplatz von 1Byte und kann max. 2 Werte annehmen: True (true) und False (falsch).

Boolsche Werte werden bei Vergleichen und Pfüfungen erzeugt:

if a=3 then... {wenn a=3 (true) dann ... }

test:=false;
repeat
...
until test; {Wiederhohlung bis test den Wert true hat}

Boolsche Werte dürfen nicht arithmetisch operiert werden, können aber miteinander verglichen werden (z.B. "and" "or").

if (a=4) and (b=5) then... {wenn 1. Bedingung wahr und 2. Bedingung wahr dann... }

Zeiger-Typen

Ein Zeiger hat keinen eigenen Wert sondern verweist auf einen anderen Wert, er entählt also nur die Adresse eines Speicherbereiches eines anderen Wertes.

var
text:string
textzeiger:^string

Die beiden Variablentypen (String und Zeiger)unterscheiden sich nur durch das Zeichen "^" die technischen Unterschiede sind dagegen gewaltig: Text ist ein String der 255 Byte belegt, Textzeiger ist ein Zeiger der nur 4 Byte belegt aber auf einen String mit 255 Byte verweisen kann. (natürlich nur wenn ein solcher auch vorhanden ist)

Um eine solche Dynamische Variable zu deklarieren benutzt man den Befehl "New".

New(textzeiger);

Dieser Befehl belegt einen 256 Byte großen Speicherbereich und weist Textzeiger die Startadresse dieses Bereiches zu. Zugriffe darauf geschehen über die Zeigervariable:

Textzeiger^:='ich werde in den Bereich gespeicher auf den der Puffer zeigt';
Writeln(Textzeiger^);
Dispose(Textzeiger); {gibt den Speicher wieder frei}


Um --hostes_deliturus 00:29, 26. Feb 2006 (CET)

'Persönliche Werkzeuge
Extras