Turbo Pascal - Teil 3
Wie im täglichen Leben ist es auch in der Informatik notwendig
Entscheidungen zu treffen.
Wie Sie Entscheidungen bzw. Vergleiche in Ihr Programm unter Turbo Pascal einbinden,
werden Sie nun erfahren.
Die IF - THEN - ELSE - Anweisung
Übersetzt heißt dieser einfache Befehlssyntax :
Wenn...dann...oder...
Ein Beispiel soll das Neuerlernte verdeutlichen.
Sie möchten das Alter des Anwenders in Erfahrung bringen und überprüfen,
ob er schon 50 Jahre alt ist.
Sie würden also eine numerische Variable einlesen lassen
und würden dann folgenden Algorhitmus anwenden :
Wenn Alter >= 50 dann gib aus "Sie sind über 50 !" oder gib aus
"Sie sind unter 50 !" .
Lassen Sie uns diesen Sachverhalt nun als Turbo Pascal - Programm
darstellen.
Program Alter;
uses crt;
Var Alter : integer;
Begin
clrscr;
write('Wie alt sind Sie ? ');
readln(Alter);
if Alter >= 50 then write('Sie haben Ihren 50. schon gefeiert !');
else writeln('Sie sind jünger als 50 !');
readln;
End.
Die Verbundanweisung
Sollen mehrere Anweisungen ausgeführt werden, wenn die Bedingung wahr ist,
so sind diese als Verbundanweisung zusammenzufassen.
Dies geschieht, indem Sie den Befehlskomplex mit
Begin und End; umschließen.
Achten Sie auf das Semikolion hinter dem End !!
Beispiel :
if Zahl = 100 then
begin
writeln('Das ist eine grosse Zahl');
writeln('Aber nicht grösser als 1000');
end;
else writeln('Fehlermeldung');
Die CASE-OF-Anweisung
Durch die Case-Of-Anweisung kann je nach Erfüllung der Bedingung
eine Auswahl unter mehreren möglichen Anweisungen getroffen werden.
Die Case-Of-Anweisung hat folgende Struktur :
case Variable of
Konstante1 : Anweisung1;
Konstante2 : Anweisung2;
...
Konstantex : Anweisungx;
else Anweisungy;
end;
Der Else-Zweig wird dann genutzt, wenn dem Wert keine Anweisung
zugeordnet werden konnte.
Erweitern wir doch unser Alter-Beispiel mit einer CASE-OF-Anweisung.
Es sollen nun zu den Altersangaben 1,10 und 20 Jahr(en) Kommentare
ausgegeben werden. Wird eine nicht deklarierte Altersangabe eingegeben,
so soll eine Alternativmeldung erscheinen.
Als Turbo Pascal - Programm könnte das dann so aussehen.
Program Alter;
uses crt;
Var Alter : integer;
Begin
clrscr;
write('Wie alt sind Sie ? ');
readln(Alter);
case Alter of
1 : writeln('Sie sind viel zu jung um am PC zu sitzen !');
10 : writeln('Wie gefällt Ihnen ihre bisherige Schulzeit ?');
20 : writeln('Über 18, planlos, sorglos und schamlos !');
else writeln('Ihrem Alter wurde kein Kommentar zugeordnet !');
end;
readln;
End.
Bei der Case-Of-Anweisung gilt folgendes zu beachten :
die Case-Of-Anweisung wählt immer nur eine von beliebig vielen
Alternativen aus
vor jeder Anweisung stehen eine oder mehrere durch Komma
getrennte Konstanten, gefolgt von einem Doppelpunkt
Variable und Konstante müssen vom selben Typ sein
(Sie können keiner Integer-Variable eine Dezimalzahl zuweisen !!)
sind die Konstanten char-Werte, so sind sie in Hochkomma zu setzen
sollen nach dem Doppelpunkt mehrere Anweisungen folgen, so sind diese in einer
Verbundanweisung zusammenzufassen
(Der Anweisungskomplex,welcher ausgeführt werden soll, wird von Begin und End; umschlossen.)
die Case-Of-Anweisung endet mit dem Wort End, gefolgt von einem
Semikolion
Die Vergleichsoperatoren
Wie Sie bemerkt haben brauchen Sie um Entscheidungen zu treffen
Vergleichsoperatoren. Welche in Turbo Pascal genutzt werden können,
erfahren Sie jetzt :
| Vergleichsoperatoren |
| = |
gleich |
| < |
kleiner |
| > |
grösser |
| <> |
ungleich |
| <= |
kleiner gleich |
| >= |
grösser gleich |
Die Verknüpfungsoperatoren
Es kommt oft vor, dass die Ausführung einer Anweisung von mehreren
Bedingungen abhängt.
Dafür gibt es die folgenden Verknüpfungsoperatoren.
NOT (Nicht)
Negation, dieser Operator dreht den Wahrheitswert der mit ihm verknüpften Aussage um.
Es wird also aus "wahr" "falsch" und aus "falsch" "wahr".
Beispiel
5 = 5 ist wahr
Not(5 = 5) ist falsch, da der Wahrheitswert negiert wurde.
AND (Und)
UND - Verknüpfung, die Gesamtaussage ist wahr, wenn jede
einzelne der mit UND verknüpften Teilaussagen wahr ist.
Beispiel
( (5 = 5) AND (2 = 2) ) ist wahr,da beide Teilaussagen wahr sind
( (5 = 5) AND (2 = 3) ) ist falsch, da eine Teilaussage (2 = 3) falsch ist
Für die Und-Verknüpfung ergibt sich folgende Wahrheitswertetabelle :
| Aussage 1 |
Aussage 2 |
Ergebnis |
| wahr |
wahr |
wahr |
| wahr |
falsch |
falsch |
| falsch |
wahr |
falsch |
| falsch |
falsch |
falsch |
OR (Oder)
Oder-Verknüpfung. Hier ist die Gesamtaussage wahr, wenn
eine der beiden Teilaussagen wahr ist.
Beispiel
( (5 = 5) OR (2 = 2) ) ist wahr,da beide Teilaussagen wahr sind
( (5 = 5) OR (2 = 3) ) ist wahr, da eine Teilaussage (5 = 5) wahr ist
( (2 = 3) OR (3 = 4) ) ist falsch, da beide Teilaussagen falsch sind
Für die Oder-Verknüpfung ergibt sich folgende Wahrheitswertetabelle :
| Aussage 1 |
Aussage 2 |
Ergebnis |
| wahr |
wahr |
wahr |
| wahr |
falsch |
wahr |
| falsch |
wahr |
wahr |
| falsch |
falsch |
falsch |
XOR (Exclusiv-Oder)
Die Exclusiv-ODER-Verknüpfung wird seltener angewendet.
Bei ihr nimmt die Gesamtaussage den Wert wahr an, wenn die Wahrheitswerte
der beiden Teilaussagen gleich sind.
Beispiel
( (5 = 5) XOR (2 = 2) ) ist wahr,da beide Teilaussagen wahr sind
( (5 = 5) XOR (2 = 3) ) ist falsch, da eine Teilaussage wahr, die andere aber falsch ist
( (2 = 3) XOR (3 = 4) ) ist wahr, da beide Teilaussagen falsch sind
Für die XOR-Verknüpfung ergibt sich folgende Wahrheitswertetabelle :
| Aussage 1 |
Aussage 2 |
Ergebnis |
| wahr |
wahr |
wahr |
| wahr |
falsch |
falsch |
| falsch |
wahr |
falsch |
| falsch |
falsch |
wahr |
In einer logischen Operation, wie sie in einer if-Anweisung
als Bedingung verwendet werden kann, können nun genauso wie
bei einer Rechenoperation, mehrere Verknüpfungs- und Vergleichsoperatoren
verwendet werden.
Dabei gilt es jedoch folgende
Priortätsregeln zu befolgen.
1. Höchste Priorität haben geklammerte Ausdrücke.
2. An zweiter Stelle kommt die Negation (NOT).
3. Die dritthöchste Priorität hat die UND-Verknüpfung (AND).
4. Danach kommt die ODER-Verknüpfung (OR).
5. Die niedrigste Priorität besitzt die Exclusiv-ODER-Verknüpfung (XOR).
|