-11.5

Erstellt 1 week ago
Download (1.08 MB)

Text

Pascal-Programmierung
10.1.Fallunterscheidung
Syntax: IF Bedingung THEN Anweisung;
oder ...
IF Bedingung THEN
BEGIN
Anweisungen;
END
Semantik: Wenn die Bedingung erfüllt ist, werden
die Anweisungen ausgeführt. Wenn die Bedingung
nicht erfüllt ist, werden die Anweisungen übergangen.
Man nennt dies einseitige Auswahl.
Beispiel: if x > 0 then
begin
a := y / x;
inc( x );
end
Pascal-Programmierung
10.2.Fallunterscheidung
Syntax:IF Bedingung
THEN Anweisung1 ↵ kein Semikolon vor ELSE
ELSE Anweisung2;
... oder auch jeweils mit BEGIN
Anweisungen;
END
Semantik: Wenn die Bedingung erfüllt ist, werden
die Anweisungen1, andernfalls die Anweisungen2
ausgeführt. Man nennt dies zweiseitige Auswahl.
Beispiel: if ( x > 10 )or( x < -10 )
then begin
y := 3+x;
inc( x );
end
else y = 3-x;
Pascal-Programmierung
11.1.Schleifen (mit Eingangsbedingung)
Syntax: WHILE Bedingung DO Anweisung;
oder ...
WHILE Bedingung DO BEGIN
Anweisungen;
END
Semantik: Solange die Bedingung erfüllt ist, werden
die Anweisungen wiederholt ausgeführt.
Falls die Bedingung gleich beim ersten mal nicht
erfüllt ist, werden die Anweisungen in der Schleife
überhaupt nicht abgearbeitet.
Beispiel: while n<10 do begin
inc( n );
dec( z );
end
Solange n<10 noch gilt, erhöhe n wiederholt um 1
und verringere z wiederholt um 1.
Pascal-Programmierung
11.2.Schleifen (mit Abbruchbedingung)
Syntax: REPEAT
Anweisungen;
UNTIL Bedingung;
Semantik: Die Anweisungen zwischen repeat und until
werden solange wiederholt ausgeführt, bis die
Abbruch-Bedingung erfüllt ist.
Weil die Bedingung erst am Ende der Schleife überprüft
wird, werden die Anweisungen in der Schleife
immer mindestens 1mal abgearbeitet.
Beispiel: repeat
n := EingabeProzedur();
until ( n>=0 ) and ( n<=10 );
Die Eingabe (von n) wird solange wiederholt,
bis n einen Wert von 0 ≤ n ≤ 10 hat.
Pascal-Programmierung
11.3.Schleifen (Zählschleife)
Syntax: FOR Zaehler := Startwert TO Endwert DO
BEGIN
Anweisungen;
END
Semantik: 1. Der Zaehler wird, beginnend mit dem
Startwert, in 1er-Schritten bis zum Endwert erhöht
und die Anweisungen werden abgearbeitet.
2. Wenn statt „TO“ ein „DOWNTO“ steht,
wird 1er-Schritten abwärts gezählt.
Beispiel: for x:=-10 to 10 do
y := sqr( x );
Die Schleife startet mit x= -10 und läuft 21 mal ab.
Bei jedem Schleifendurchlauf wird der x-Wert dabei
automatisch um eins erhöht.
Pascal-Programmierung
11.4.Schleifen (Iteration durch Container)
Syntax: FOR Element IN Container DO
BEGIN
Anweisungen;
END
Semantik: Das Element wird nacheinander mit den
einzelnen Elementen des Containers belegt. Für jede
Belegung werden die Anweisungen abgearbeitet.
Die Anzahl der Schleifendurchläufe ergibt sich somit
aus der Anzahl der Elemente des Containers.
Beispiel: for z in Text do
if z=‘-‘ then negativ:=true;
Die Elementvariable „z“ (CHAR) wird nacheinander mit
den einzelnen Zeichen der Variable „Text“ (STRING)