Hallo Zusammen!
Nachdem Kemil Euch zwar etwas umstndlich aber einiger-
maen ordentlich das letzte Programm erklrt hat will ich
jetzt weitermachen.
Ihr habt gesehen wie man so Variablen rechnerisch bearbei-
ten kann. Aber diese Variablen mssen deklariert werden!
Damit das nicht so einfach ist, haben die Entwickler von TP
sich da eine Menge einfallen lassen. Es gibt nmlich eine
ganze Reihe von Variablentypen.
1. Integer

Var Variable : Integer;

In Variable werden nun nur ganze Zahlen zwischen -32768 und
32767 gespeichert. Toll werdet Ihr sagen, aber was soll das?
Ganz einfach: Dieser Variablentyp hilft einem nur wenn man
mit ganzen Zahlen arbeitet. Dabei ist er auch sinnvoll.
Er bentigt nmlich nur 16 Bit. Das wird Euch im Moment
nicht besonders interessiern, da Ihr noch keine Speicher-
probleme habt. Es kommt noch besser, es gibt den Typ
Shortint , der nur von -128 bis 127 geht. Solche Typen
eignen sich z.B. um Zhlschleifenvariablen zu deklarieren.
Auch fr einfache Rechenoperation sind solche Typen geeig-
net. Was aber ist, wenn Ihr Euer monatliches Kapital ver-
walten wollt und z.B. 20.000 DM + 40.000 DM rechnet.
Ausprobieren! Ein einfaches Addtionsprogramm fr 3
Summanden:

1  Program Add;
2   Uses Crt;
3   Var Summand1, Summand2, Summand3        :Integer;
4     Summe                               :Integer;

5     Begin
6       Clrscr;
7        Write('1. Summand :');
8        Readln(Summand1);
9        Write('2. Summand :');
10       Readln(Summand2);
11       Write('3. Summand :');
12       Readln(Summand3);
13       Summe:= summand1 + summand2 + summand3;
14       Writeln;
15       Write(summand1,' + ', summand2, ' + ', summand3);
16       Writeln(' = ',summe);
17       Readln;
18    END.

Der bersichtlichkeit halber habe ich die Zeilen num-
meriert. In Eurem Programm lat die Zeilennummern weg.
Spielt ein bichen und probiert auch mal grere Zahlen
aus. Addiert doch mal Euer Monatsgehalt von je 20.000 DM :
20.000DM + 20.000DM + 20.000DM. Ihr habt in 3 Monaten
5536 DM Schulden gemacht. Nein, der Computer wei nicht,
da Ihr wie ich das ganze Geld ausgebt, sondern er rechnet.
Allerdings anders als wir das tun. Erstmal addiert er, bis
er an die magische Zahl von 32767 gelangt. Was darber
hinausgeht, wird zu -32768 addiert.Sind die Zahlen gro
genug, geht das Ergebnis auch in den positiven Bereich nur
leider viel zu klein. Probiert folgendes aus:
in  Zeile 3 und 4 ndert Ihr Integer in Longint um und fhrt
die gleiche Rechnung noch einmal aus. Schon habt Ihr die
gewnschten 60.000 DM. Das liegt daran, da longint einen
Zahlenbereich umfat von -2147483648 bis 2147483648 . Soviel
mu man erstmal verdienen. Scherz beiseite, um profimig zu
programmieren ist es unbedingt notwendig diese Zahlen-
bereiche auswendig zu knnen. ;-)))
Suuper denkt Ihr Euch, werdet aber fragen 'Was ist das fr
ein Schei Computer der nicht teilen kann?'
Ich kann Euch beruhigen, er kann. Zum einen gibt es die
Mglichkeit ganze Zahlen zu teilen.

Program Division;
Uses Crt;
VAR Quotient    : Integer;
Begin
  Quotient:= 4 DIV 2;
  Writeln('1. 4 DIV 2 = ',Quotient);
  Quotient:= 5 DIV 2;
  Writeln('2. 5 DIV 2 = ',Quotient);
  Quotient:= 4 MOD 2;
  Writeln('3. 4 MOD 2 = ',Quotient);
  Quotient:= 5 MOD 2;
  Writeln('4. 5 MOD 2 = ',Quotient);
readln;
END.

Beim ersten Ergebnis kommt 2 raus. Wenn nicht tauscht Euren
Pentium um. Das Produkt ist logisch, denn 4 dividiert durch
2 ist natrlich 2. Das zweite Produkt ist da schon interes-
santer 5 durch 2 gleich 2. Nein das ist nicht der Pentium-
Fehler, nervt nicht den Hndler, das ist richtig. Der
Computer rechnet nmlich nur Ganzzahlen aus. 5:2 ist, wie
man nach neuesten Erkenntnissen wei, 2 und Rest 1. Diese
Form des Teilens drfte Euch aus der Grundschule bekannt
sein. Jetzt lassen sich auch die beiden letzten Ergebnisse
erklren. MOD gibt nmlich den Rest einer Division von zwei
ganzen Zahlen aus. Bei 4:2 ist der Rest nun mal 0 und bei
5:2 eben 1. So einfach ist das. Natrlich kann man statt
der beiden Zahlen auch Variablen einsetzen. Diese mssen
vom Typ ShortInt, Integer, LongInt oder NEU NEU NEU
BYTE oder WORD sein. Byte ist ein Zahlenbereich von 0..255
und Word ein Bereich von 0 bis 65535.
Die beiden letzten Typen spielen spter bei bestimmten Be-
fehlen eine besondere Rolle als sogenannte Parameter.
O.K., so ein Computer auf Grundschulniveau ist schon toll
aber wie luft das, wenn ich 5 DM mit einem teilen will.
Erste Mglichkeit : rechnet mit DIV und MOD, sagt Eurem
Kumpel/in jeder bekommt 2 DM, Rest 1 DM und die behaltet Ihr
fr den Rechenaufwand.
Sollte Euer Freund/in mathematisch veranlagt sein wird er
protestieren. Also versuchen wir etwas anderes. Wie zu
Beginn sagte haben die TP-Erfinder eine Menge Typen einge-
baut. Z.B.: REAL ! Real hat einen Wertebereich von 2.9 mal
10 hoch -39 bis 1.7 mal 10 hoch 38. Das sind nicht nur sehr
groe Bereiche, nein es umfat sogar alle reelen Zahlen aus
diesem Bereich, also 1,333333 ; 3,14 und so weiter. Statt
einem Komma schreibt man hier brigens in der englischen
Schreibweise einen Punkt.

Program Division2;
Uses Crt;
Var Quotient, Divisor, Dividend : Real;

Begin
  Write('Dividend = ');
  Readln(Dividend);
  Write('Divisor = ');
  Readln(Divisor);
  Quotient:= Dividend / Divisor;
  Writeln(Quotient:2:3);
  Readln;
End.

Mit diesem Programm knnt Ihr wieder ein bichen experimen-
tieren. Ich sollte vielleicht noch etwas zu letzten Writeln
Zeile sagen. Quotient:2:3 ist eine formatierte Ausgabe.
Hiermit kann man festlegen wieviele Stellen vor 2 und wie-
viele Stellen nach dem Komma 3 bzw. Punkt erfolgen sollen.
Lt man diese beiden Doppelpunkte weg, so verwendet der
Computer eine Exponentialschreibweise z.B.: 1.5e01 = 15 .

Soviel erstmal von mir. Viel Spa beim ausprobieren!


                                  Grisu!