Logische Operatoren

Logische Operatoren werden verwendet, um Bedigungen umzusetzen.
Man kann mit den verschiedenen Operatoren auch Mehrfachbedingungen formulieren. Hierfür ist Klammersetzung (runde Klammern) hilfreich. Werden Mehrfachbedingungen codiert, so gelten die folgenden Regeln:

  • Bei Kammersetzung wird die innerste Klammer zuerst,
    die äußerste Klammer zuletzt bearbeitet
  • Zuerst werden einfache Bedingungen bearbeitet
  • Darauf folgt die Auswertung von NOT
  • Als drittes werden die mit AND verknüpften Bedingungen beachtet
  • Schließlich wird OR verarbeitet

AND
Für sprachbegabte Menschen erschließt sich hier sofort die deutsche Bedeutung UND und sie haben damit vollkommen Recht. Soll beispielsweise festgestellt werden, ob eine Zahl im Bereich zwischen 10 und 20 liegt, so wird dies z.B. mit Hilfe der IF-Anweisung und AND wie folgt erreicht:

IF Zahl GREATER 10 AND Zahl LESS 20 THEN ....

Anstelle von GREATER und LESS kann auch (und wird meistens) > und < verwendet werden. Gleiches gilt für NOT GREATER (entspricht <=) und NOT LESS (entspricht >=). Man würde also 'bei uns in Programmiererkreisen' die IF-Anweisung wie folgt verkürzt formulieren:

IF Zahl > 10 AND Zahl < 20 THEN ...

Soll die 10 und die 20 mit zum Intervall gehören, so würde man in der verkürzten Schreibweise formulieren:

IF Zahl >= 10 AND Zahl <= 20 THEN ....
Lang:
IF Zahl NOT LESS 10 AND Zahl NOT GREATER 20 THEN ...

Für AND gelten die folgenden logischen Verknüpfungsregeln:

nein AND nein = nein
nein AND ja = nein
ja AND ja = ja
ja AND nein = nein

OR
Diesen Operator würde man einsetzen, um festzustellen, ob es sich beim Inhalt der Variablen Zahl um 10 ODER 20 handelt. Zunächst wieder die verkürzte und dann die 'lange' Version:

IF ZAHL = 10 OR Zahl = 20 THEN ...
Lang:
IF ZAHL EQUAL 10 OR ZAHL EQUAL 20 THEN ...


Für OR gelten diese Verknüpfungsregeln:

nein OR nein = nein
nein OR ja = ja
ja OR ja = ja
ja OR nein = ja


NOT
Mit diesem Vergleichsoperator wird eine Verneinung (Sprachbegabte: NOT heißt NICHT) erzeugt. Dabei handelt es sich bei NOT um einen eigenständigen Operator und nicht nur um einen Teil eines solchen. Wenn also überprüft werden soll, ob ein bestimmter Wert z.B. ungleich 20 ist, so wird dies mit

IF Wert NOT = 20 THEN ...
Lang:
IF Wert NOT EQUAL 20 THEN ...

umgesetzt. Hierbei wird jedoch keine Ungleichheit überprüft, sondern die Bedingung besteht daraus, daß eine Gleichheit verneint wird. Wenn diese verneinte Gleichheit dann wahr ist, ist die Bedingung wahr.
NOT kann also zum Einen dazu verwendet werden, einen Operator zu verneinen. Zum Anderen kann eine ganze Bedingung damit verneint werden. Soll beispielsweise geprüft werden, ob das Ergebnis zweier miteinander addierter Werte ungleich 20 ist und für diesen Fall eine bestimmte Wirkung eintreten, so würde man codieren:

IF NOT (Erstwert + Zweitwert = 20) THEN ...


...