Pascal Kurs Teil 4 von Christoph Bach In diesem Teil der Einführung in Pascal geht es um die Kontrollstrukturen. Oft müssen Programmteile wiederholt werden. In Pascal gibt es dazu verschiedene Schleifen. Die einfache Zählschleife sieht fast so aus wie in BASIC: steht für das Semikolon for i:=1 to 10 do write(i,', ') Diese Schleife zählt die Variable i (die vorher definiert worden sein muß) von 1 bis 10 hoch, und gibt den Wert durch je ein Komma getrennt aus. In Pascal sind nur ganzzahlige Datentypen (Integer) als Zählvariablen erlaubt. Ein STEP wie in BASIC gibt es nicht. Um eine Variable herunterzuzählen, ersetzt man das TO durch ein DOWNTO: for i:=10 downto 1 do write(i,', ') Soll in einer Zählschleife mehr als ein Befehl stehen, so muß man die Befehle durch ein BEGIN END einklammern: for i:=1 to 10 do begin j:=i+1 write(i,' ',j,', ') end Natürlich gibt es auch noch die REPEAT UNTIL Schleife: i:=1 repeat write(i,', ') i:=i+1 until i>10 Bei dieser Schleife muß man darauf achten, daß die Zählvariable zu Beginn der Schleife initialisiert wird (einen festgelegten Wert erhält), und in der Schleife so verändert wird, daß keine Endlosschleife entsteht. Die REPEAT UNTIL Schleife wird immer mindestens einmal durchlaufen. Will man das nicht, so verwendet man die WHILE Schleife: i:=10 while i>1 do begin write(i,', ') i:=i-1 end Auch bei dieser Schleife muß man darauf achten, daß irgendwann das Abbruch- kriterium (i<=1) erfüllt ist. Eine andere wichtige Kontrollstruktur sind die Verzweigungen. Die einfachste ist die IF THEN ELSE Struktur: if (i=2) or (i=3) then writeln(i) Will man mehrere Befehle in einer IF Abfrage unterbringen, so muß man wieder mit BEGIN END klammern: if i=4 then begin j:=i+1 writeln(i,' ',j) end else begin j:=i-1 writeln(i,'..',j) end Wenn es mehrere Möglichkeiten der Verzweigung gibt, so setzt man am Besten die CASE Anweisung ein: case i of 6:writeln('i ist 6') 7:writeln('i ist 7') 8:begin j:=i*3 writeln(i,' ',j) end end Die CASE Anweisung endet immer mit einem END. Sie ist, ähnlich wie in BASIC das ON..GOSUB, prädestiniert für den Einsatz in einem Menüsystem. Als Verzweigungsvariable kann wieder nur eine ganzzahlige Variable oder ein CHAR dienen. Das wars für diesmal. Das Listing enthält alle Beispiele dieses Kurses. Meine Empfehlung: Abändern und damit herumspielen. Bis bald.