Die IF – ELSE – Verzweigung

Für die IF-ELSE-Verzweigung werden folgende Steueranweisungen benutzt:

$IF, $ELSE, $ELSEIF, $ENDIF.

Syntax:

Die Verzweigung beginnt immer mit

$IF=..

und endet immer mit

$ENDIF

Die Steueranweisungen

$ELSE

und

$ELSEIF

sind optional und dienen dazu, Mehrfachverzweigungen aufzubauen.

Achtung

attention

Die Bedingung im $IF-Steuersatz wird geprüft, indem der mathematische Ausdruck auf "wahr" bzw. "nicht wahr" geprüft wird (TRUE und FALSE). Um auch dezimale Größen verwenden zu können, gilt die Bedingung als erfüllt (TRUE), wenn…

...der Betragswert des mathematischen Ausdruckes > oder = 0.5 ist.

Programmierbeispiel

prg_example

Die IF – ELSE – Verzweigung

N10 ...

N20 $IF P1      Nur wenn |P1| größer oder gleich 0,5 ist, werden die
                Anweisungen N30 bis N50 abgearbeitet.

N30 ...

N40

N50

N60 $ENDIF

Aber auch folgendes ist möglich:

N10 ...

N20 $IF P1 >= 0.5    Nur wenn P1 größer oder gleich 0.5 ist, werden die

                     Anweisungen N30 bis N50 abgearbeitet

N30 ...

N40

N50

N60 $ENDIF

Oder aber:

N10 ...

N20 $IF P1 > P2      Nur wenn P1 größer P2 ist, werden die Anweisungen
                     N30 bis N50 abgearbeitet, ansonsten N70 bis N90

N30 ...

N40 ...

N50 ...

N60 $ELSE

N70 ...

N80 ...

N90 ...

N100 $ENDIF

Die Verwendung von ELSEIF erlaubt:

N10 ...

N20 $IF P1 == 0     Nur wenn P1 gleich 0 ist, werden die Anweisungen N30
                    bis N50 abgearbeitet, ansonsten wird in der
                    $ELSEIF-Bedingung geprüft,ob P2 >= 0.5 ist und
                    entspr. N70 bis N90 bzw. N110 bis N130 abgearbeitet.

N30 ...

N40

N50

N60 $ELSEIF P2>=0.5  Die $ELSEIF – Bedingung dient zum Aufbau
                     ineinandergeschachtelter Verzweigungen.

N70 ...

N80

N90

N100 $ELSE

N110 ...

N120

N130

N140 $ENDIF

Achtung

attention

Entsprechend der Programmiersprache C existiert auch hier der Unterschied in der Syntax zwischen

Zuweisung: P5 = 3

und

Vergleich: $IF P5 == 3

Für die Version 2.3 und frühere gilt: Weil bei mathematischen Ausdrücken immer die Folge...

Operator -> Term -> Operator -> Term -> usw.

...erwartet wird, müssen bei Vergleichsoperationen die Ausdrücke geklammert werden, denen ein Minuszeichen vorsteht ("-" wird als Operator interpretiert).

Programmierbeispiel

prg_example

$IF P1 >= -5     falsch, da Term->Operator->Operator->Term

$IF P1 >= [-5]   richtig, da Term->Operator->Term->Operator->Term