Syntax: a)
IF Ausdruck [
THEN]
Anweisungen [
ELSE Anweisungen]
b)
IF Ausdruck THEN
[
Anweisungen]
[
ELSE [
Anweisungen]
Anweisungen]
ENDIF
Argumente: a)
Ausdruck wird wie ein Wahrheitswert behandelt. Wenn es verschieden von Null ist, wird es als
TRUE ausgelegt und alle
Anweisungen im THEN Teil der Konstruktion werden abgearbeitet. Wenn der Ausdruck Null (
FALSE) ergibt, gelangt die ELSE Komponente zur Ausführung.
Anweisungen ist entweder eine Liste von Null oder mehr Anweisungen, die durch Strichpunkte voneinander getrennt sind, oder eine Zeilennummer. Im letzteren Fall folgt auf das THEN (welches vorhanden sein muß) ein implizites GOTO oder ELSE.
Hinweise: Das THEN ist fakultativ vor Anweisungen, mit Ausnahme von Sternchen-Befehlen. Beispiel:
IF a THEN *Cat und nicht IF a *Cat
Die ELSE Komponente paßt zu jedem IF - vermeiden Sie daher die Verschachtelung von IFs auf derselben Zeile. Konstruktionen der Form
IF a THENŒ IF b THENŒ ELSEŒ
sollten vermieden werden, weil die ELSE Komponente je nach Werten von a und b sowohl zum ersten als auch zum zweiten IF passen kann. Zur Vermeidung von Zweideutigkeiten ist ein mehrzeiliges IF dieser Form vorzuziehen:
IF a THEN
IF b THEN
Œ
ENDIF
ELSE
Œ
ENDIF
Im Unterschied dazu ist die Form
IF a THENŒ ELSE IF b THENŒ
über jeden Zweifel erhaben und kann daher ohne Probleme verwendet werden.
b) Ausdruck wird als Wahrheitswert verwendet. Wenn von Null verschieden, wird er als TRUE ausgelegt, wobei alle Anweisungen angefangen von der Zeile nach THEN bis zum nächsten ELSE oder ENDIF ausgeführt werden. Wenn der Ausdruck Null (FALSE) ergiebt, gelangen alle Anweisungen nach ELSE (wenn vorhanden) bis zu ENDIF zu Ausführung. In dieser Form muß THEN die letzte Anweisung auf der Zeile.
Beispiele: a) IF temp<=10 PROCtief_temp
IF a%>b% THEN SWAP a%,b% ELSE PRINT "Kein Tausch"
b) IF b^2>=4*A*C THEN
PROCwurzeln(A,B,C)
ENDIF
IF r$="J" OR r$="j" THEN
PRINT "Ja"
ELSE
PRINT "Nein"
STOP
ENDIF