Datentypen
----------

- Integer: Integer-Variablen sind als vorzeichenbehaftete
24-Bit-Zahlen angelegt. Sie koennen Werte im Bereich von
-8388608 bis +8388607 annehmen.

- Char: Char-Variablen sind 8-Bit-Werte im Bereich von 0 bis
255.

- Array: Arrays koennen nur eindimensional sein und Elemente
vom Typ Integer oder Char enthalten. Sie beginnen immer beim
Index 0. Ein ARRAY[10] OF CHAR hat demnach 11 Elemente
(Index 0 bis 10). Es findet beim Zugriff auf Array-Elemente
keine Kontrolle statt, ob der Index im gueltigen Bereich
liegt! Eine Besonderheit sind das MEM ARRAY bzw. MEMC ARRAY,
mit dem direkt auf den Arbeitsspeicher zugegriffen werden
kann (vergleichbar mit PEEK/POKE in Basic).

Integer- und Char-Variablen koennen einander zugewiesen
werden, d.h. der Compiler fuehrt hier keine Typen-Kontrolle
durch. Allerdings gibt es Besonderheiten, die beachtet
werden muessen:

- Beim READ-Befehl haben Integer- und Char-Variablen eine
unterschiedliche Bedeutung.

- Bei der Zuweisung von einer Integer- an eine Char-Variable
wird nur das niedrigste Byte beruecksichtigt (MOD 256).

Andere Datentypen, wie REAL oder BOOLEAN, werden von
G-Pascal nicht unterstuetzt. Ausserdem gibt es keinen
TPYE-Ausdruck. Der Programmautor gibt ein paar Empfehlungen,
wie sich dieser Mangel (teilweise) ausgleichen laesst.

Ersatz fuer REAL

Wenn man z.B. Variablen fuer Euro-Betraege anlegen moechte,
kann statt in anderen Pascal-Versionen

var
 r: real;

begin
 r := 12.5;
 writeln(r);
end.

in G-Pascal mit Cent-Werten gerechnet werden

var
 r: integer;

begin
 r := 1250; (* 12.5 mal 100 *)
 write(r/100, ".");
 if r mod 100 < 10 then
   write("0");
 writeln(r mod 100);
end.

Ersatz fuer BOOLEAN

Statt der BOOLEAN-Variablen in anderen Pascal-Versionen

var
 t,f: boolean;

begin
 t := true; f := false;
end.

kann man in G-Pascal CHAR-Variablen verwenden

const
 true = 1; false = 0;
var
 t,f: char;

begin
 t := true; f := false;
end.

Ersatz fuer TYPE

Statt dem TYPE-Ausdruck in anderen Pascal-Versionen

type
 farbe = (rot, gruen, blau);
var
 f: farbe;

begin
 f := blau;
end.

kann man in G-Pascal Konstanten definieren

const
 rot = 0; gruen = 1; blau = 2;
var
 f: integer;

begin
 f := blau;
end.