2.1 Einfach-Selektion
Ein logischer Ausdruck (Bedingung) wird auf seine Wahrheit geprüft. Je nachdem, ob die Bedingung erfüllt wird oder nicht (logisches Ausdrucksergebnis ist wahr oder falsch), wird einer von zwei verschiedenen Anweisungsblöcken ausgeführt.
In den Programmiersprachen C, JAVA, Visual Basic und Cobol 85 sieht die Syntax der Einfach-Selektion folgendermaßen aus:
C, C++, JAVA C,C++,JAVA spezifische Anmerkungen
Syntax:
if (Bedingung)
{
Anweisungsblock1;
}
else
{
Anweisungsblock2;
}
Zu beachten:
. Der else-Zweig kann entfallen.
. Die Bedingung(en) müssen geklammert werden.
. Die Bedingungen können mit && (logisches UND) oder mit || (logisches ODER) verknüpft bzw. mit ! negiert werden.
. Einzelne Anweisungen müssen nicht eingeklammert werden (die Klammerpaare {} könne weggelassen werden), mehrere Anweisungen allerdings schon.
Beispiele
C/C++ if (i = = 1)
{
printf(\"i ist 1\");
}
else
{
printf(\"i ist nicht 1\");
}
JAVA siehe oben, statt printf aber System.out.println
Visual Basic Visual Basic spezifische Anmerkungen
Syntax:
If Bedingung Then
Anweisungsblock1
ElseIf Bedingung Then
Anweisungsblock2
Else
Anweisungsblock3
EndIf
Zu beachten:
. Der Else- bzw. ElseIf-Zweig kann entfallen, der If-Zweig muß dann mit End If abgeschlossen sein.
. In einer If-Anweisung kann es mehrere ElseIf-Zweige geben.
. Die Bedingungen können mit And oder Or verknüpft, bzw. mit Not negiert werden.
. Es besteht noch die Möglichkeit die If ... Then ... [Else ...]-Anweisung in einer Zeile zu schreiben.
Beispiel
If i = 1 Then
print \"i ist 1\"
ElseIf i = 2
print \"i ist 2\"
Else
print \"i ist nicht 1 oder 2\"
EndIf
Cobol 85 Cobol 85 spezifische Anmerkungen
Syntax:
IF Bedingung THEN
Anweisungsblock1
oder NEXT SENTENCE
ELSE Bedingung Then
Anweisungsblock2
oder NEXT SENTENCE
END-IF
Zu beachten:
. Der ELSE-Zweig kann entfallen, allerdings muß der IF-Zweig mit END-IF abgeschlossen sein.
. Mehrere Bedingungen müssen geklammert werden.
. Die Bedingungen können mit AND oder mit OR verknüpft, bzw. mit NOT negiert werden.
. NEXT SENTENCE: für IF-Anweisungen mit Leeranweisung
Beispiel
IF i = 1 THEN
DISPLAY \"i ist 1\"
ELSE
DISPLAY \"i ist nicht 1\"
END-IF
2.2 Mehrfach-Selektion
Der Wert einer Auswahlgröße bestimmt, welche der beliebig vielen Anweisungen durchlaufen wird.
In den Programmiersprachen C, JAVA, Visual Basic und Cobol 85 sieht die Syntax der Mehrfach-Selektion folgendermaßen aus:
C, C++, JAVA C,C++, JAVA spezifische Anmerkungen
Syntax:
switch Ausdruck
{
case Konstante:
Anweisung1; break;
case Konstante:
Anweisung2; break;
default: Anweisungs3;
}
Zu beachten:
. Der default-Zweig kann entfallen.
. Wird kein break nach einer Anweisung gesetzt, so werden auch die Anweisungen der nächsten case-Teile abgehandelt, bis zum nächsten break oder bis zum Ende des switch-Statements.
Beispiele
C/C++ switch ( i )
{
case 1: printf(\"i ist 1.\"); break;
case 2: printf(\"i ist 2.\");
case 3: printf(\"i ist 2,3\"); break;
case 4:
case 5:
case 6: printf(\"i ist zw. 4 u.6.\"); break;
default: printf(\"Falsch!\");
}
JAVA siehe oben, statt printf aber System.out.println
Visual Basic Visual Basic spezifische Anmerkungen
Syntax:
Select Case Ausdruck
Case Ausdruckliste
Anweisung1
Case Ausdruckliste
Anweisung2
Case Else
Anweisung3
Select End
Zu beachten:
. Der Case Else-Zweig kann entfallen.
. Bei der Verwendung von logischen Operatoren ist zusätzlich Is vor den Operator zu setzen.
. Strings und Variablen sind im Case möglich.
Beispiel
Select Case i
Case 1
Print \"i ist 1.\"
Case 2,3
Print \"i ist 2,3.\"
Case 4 To 6
Print \"i ist zw. 4. u. 6.\"
Case Else
Print \"Falsch!\"
Select End
Cobol 85 Cobol 85 spezifische Anmerkungen
Syntax:
EVALUATE Ausdruck [ALSO Ausdruck]
WHEN Literal [ALSO Literal]
Anweisung,
WHEN Konst THRU Konst
Anweisung,
WHEN OTHER
Anweisung,
END-EVALUATE
Zu beachten:
. Der WHEN OTHER-Zweig kann entfallen, die Anweisung muß jedoch mit END- EVALUATE abgeschlossen werden.
. Operanden vor dem ersten WHEN: Auswahlsubjekte
. Operanden im WHEN: Auswahlobjekte
. Die Anzahl der Auswahlobjekte in jeder WHEN-Phrase muß gleich der Anzahl der Auswahlsubjekte sein.
. WHEN-Phrase trifft zu, wenn alle ihre Auswahlobjekte mit den entsprechenden Auswahsubjekten übereinstimmen.
. Bei WHEN können entweder Werte oder Bereiche (THRU) angegeben werden.
Beispiel
EVALUATE i
WHEN 1
DISPLAY \"i ist 1.\",
WHEN 2 THRU 3
DISPLAY \"i ist 2,3.\",
WHEN 4 THRU 6
DISPLAY \"i ist zw. 4 u. 6.\",
WHEN OTHER
DISPLAY \"Falsch!\",
END-EVALUATE
|