Die If-Anweisung

Diese Anweisung kann im einfachsten Falle dazu benutzt werden, die Warheit einer Bedingung festzustellen.
Nehmen wir wiederum an, wir befinden uns im 24. Jahrhundert auf der Raumstation Deep Space Nine. Der Sicherheitschef Odo (... hat nichts mit irgendwelchen Mundwässern zu tun) muß bei allen ankommenden Gästen der Raumstation gewährleisten, daß u.a. die entsprechende Spezies (Mensch, Klingone, Ferenghi usw...) des Gastes angeben wurde. Nachdem Odo die Spezies angegeben hat (oder diese wie auch immer festgestellt wurde), ruft das System ein Unterprogramm auf, welches weitere Ankunftsformalitäten einleitet.
Die Abfrage im Programm könnte dann lauten: (für den Fall daß Cobol verwendet wird)

IF Spezies THEN PERFEORM Zutritt.

Hier wird also überprüft, ob dem Gast eine Spezies zugeordnet wurde. Man könnte auch sagen, daß abgefragt wurde, ob die Bedingung "Gast ist spezifiziert" wahr ist.
Bei dem Wort THEN handelt es sich lediglich um ein Wahlwort.

Der ELSE-Zusatz
Zu einer Entscheidung gehört eigentlich immer eine Wahl, denn wenn ich keine Wahl habe, brauche ich auch keine Entscheidung zu treffen. In dem Beispiel oben wird noch keine Wahl beschrieben. Erweitern wir also das Beispiel, indem wir sagen: Das Programm soll für den Fall, daß einem Individuum keine Spezies zugeordnet werden kann, ein Unterprogramm aufrufen, welches Maßnamen für einen sog. Erstkontakt in die Wege leitet. Die Anweisung dazu würde dann lauten:

IF Spezies THEN 
     PERFORM Zutritt 
ELSE PERFORM Erstkontakt
END-IF

Anstelle von ELSE kann in manchen Fällen auch OTHERWISE verwendet werden. Habib* schreibt dazu: "OTHERWISE bedeutet 'andernfalls' und ist gleichbedeutend mit ELSE, darf aber nur unter Einwirkung der Compilerdirektive OSVS verwendet werden."

END-IF
Wie an dem Beispiel auffällt, wird der Cobol-Satz hier mit dem Scope delimiter END-IF beendet. Natürlich könnte man den Satz auch mit einem Punkt beenden. Werden jedoch mehrere IF-Abfragen ineinander verschachtelt, so dient die Verwendung von END-IF stark der Lesbarkeit des Codings.

Verschachtelte IF-Anweisungen
Um komplexere Entscheidungen treffen zu können, kann man IF-Abfragen auch ineinander verschachteln. Nehmen wir an, daß bei einem Erstkontakt zwischen humanoiden und nicht-humanuiden Spezies unterschieden wird, welche Begrüßungsprozedur eingeleitet werden soll, so könnte dies mit der folgenden verschachtelten IF-Anweisung entschieden werden:

IF Spezies THEN 
     PERFEORM Zutritt 
ELSE
     IF humanuid THEN
         PERFORM Humbegr
     ELSE
         PERFORM Anderbegr
     END-IF
END-IF

Bei einer unbekannten, nicht-humanuiden Spezies würde zunächst in den ELSE-Ast der ersten und von dort aus in den ELSE-Ast der zweiten IF-Abfrage verwiesen. Die Folge wäre somit richtigerweise der Aufruf des Unterprogramms 'Anderbegr' mit Hilfe der PERFORM-Anweisung. In diesem Unterprogramm kann dann die Begrüßungsprozedur für nicht-humanuide Lebensformen beim Erstkontakt eingeleitet werden.

Man kann mit Hilfe der IF-Anweisung verschiedenste Bedingungen abfragen. Man unterscheidet zwischen:

Vergleichsbedingung
Vorzeichenbedingung
Klassenbedingung
Bedingungsnamen-Bedingungen

Dabei können die logischen Operatoren AND, OR und NOT verwendet werden.

...