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!