Inhaltsprotokoll Informatik Kurs: GK Inf 11/1 Datum: 31.10.12 Zeit: 5./6. Stunde Protokollant: Marisa Salzmann Kurze Wiederholung einiger PASCAL-Erweiterungen 1.Deklarationsteil VAR a,b:INTEGER; c,d:LONGINT; x,y:REAL; (=> bis 32768) (=> bis 2147.483.648) (=> 11 Stellen+Exponent) 2.Hauptteil BEGIN READ(buchst.); READLN(wort); READLN; WRITE(‘EINGABE:’); WRITELN(a); WRITE(b:5); WRITE(x:6:2); WRITELN; GOTOXY(40,10); (=> liest nur einen Buchstaben) (=> liest bis zum ) (=> leere Eingabe, wartet auf (=> schreibt ``Eingabe‘‘) (=> schreibt Wert von a mit Zeilensprung rechtsbündig) (=> schreibt Wert von a mit 5 Stellen) (=> schreibt x mit 6 Stellen, davon 2 Nachkomma) (=> leere Zeile) (=> springt nach x=40, y=10) Operationen: c:=a+b; c:=a-b; c:=a*b; c:=aDIVb; c:=aMODb; c:=sqrt(a); c:=abs(b); c:=x^y; ) (=> addiert a und b) (=> subtrahiert a und b) (=> multipliziert a und b) (=> dividiert a durch b) (=> Rest) (=> Wurzel von a) (=> Betrag von b) (=> Potenz) Steuerstrukturen 1. Verzweigung IF Bedingung THEN Anw. 1 [ELSE Anw. 2] Oder: IF Bedingung THEN BEGIN…END (<= hier kein Semikolon!) [ELSE BEGIN…;] 2. Wiederhole-Schleife REPEAT Anw. 1 Anw. 2 … UNTIL Abbruchbedingung 3. Solange-Schleife WHILE Eingangsbedingung DO BEGIN ANW. 2 ANW. 3 END; 4. Zählschleife FOR Zähler:= Anfangswert TO Endwert [oder DOWNTO Endwert] DO BEGIN … END; ggt Struktogramm: Besipiel in PASCAL: PROGRAM ggt; USES CRT; VAR a,b: INTEGER; BEGIN; CLRSCR; WRITELN('ggt zweier Zahlen'); WRITELN; GOTOXY(40,10); TEXTCOLOR(blue); WRITE('erste Zahl'); READLN(a); GOTOXY(40,11); TEXTCOLOR(blue);WRITE('zweite Zahl'); READLN(b); WHILE a<>b DO IF a>b THEN a:=a-b ELSE b:=b-a; GOTOXY(40,15); TEXTCOLOR(red); WRITE('ggt der beiden Zahlen'); WRITE(a); READLN; END. Kürzen Beispiel in PASCAL: PROGRAM kuerzen; USES CRT; VAR z,n,a,b:INTEGER; BEGIN CLRSCR; WRITELN('Kürzen eines Bruchs'); WRITELN; WRITE('Zähler: '); READLN(z); WRITE('Nenner: '); READLN(n); a:=z; b:=n; WHILE a<>b DO IF a>b THEN a:=a-b ELSE b:=b-a; GOTOXY(6,8); WRITE('gekürzter Bruch'); GOTOXY(10,10); WRITE(z DIV a); GOTOXY(9,11); WRITE('---'); GOTOXY(10,12); WRITE(n DIV a); READLN; END.