Übersetzungen dieser Seite:
  • de-informal

Logische Verknüpfungen

Unter der Vielzahl an logischen Operatoren spielen die logischen Verknüpfungsoperatoren eine besondere Rolle.

Um in der Informatik komplexe Zusammenhänge bei Bedingungen ausdrücken zu können, werden logische Verknüpfungen verwendet. Ähnlich wie mit arithmetischen Operatoren, also Plus, Minus, Mal, Geteilt, usw. Zahlen miteinander verknüpft werden können, kann man Wahrheitswerte (boolesche Werte) mit logischen Operatoren verknüpfen.

Anders als Zahlen können Wahrheitswerte nur zwei verschiedene Werte annehmen: wahr oder falsch, oft auch mit 0 oder 1 dargestellt.

Hier ein einfaches Beispiel anhand einer Aussage:

Ich gehe ins Freibad, wenn es über 25 Grad warm ist und die Sonne scheint.

Diese Aussage besteht aus 2 Teilbedingungen.

  • Die erste Bedingung bezieht sich auf die Temperatur und ist wahr, wenn die Temperatur über 25 Grad liegt.
  • Die zweite Bedingung bezieht sich auf das Wetter und ist wahr, wenn die Sonne scheint.

Ins Freibad gehe ich aber nur, wenn beide Teile der Bedingung wahr sind. Eine davon reicht nicht. Dies wird dadurch ausgedrückt, indem ein und dazwischen steht. Wäre eine der beiden Teilbedingungen ausreichend, d. h.

  • ich würde auch ins Freibad gehen, wenn es bei Regen warm genug ist oder
  • ich würde auch ins Freibad gehen, wenn bei winterlichen Temperaturen die Sonne scheint,

dann würde man die Aussage mit einem oder formulieren.

Genau das ist mit Bedingungen in der Informatik durch logische Operatoren möglich.

Überblick über die logischen Verknüpfungsoperatoren

Im Beispiel hast du bereits die Operatoren und und oder kennengelernt. In der Informatik werden diese meist durch ihre englischsprachigen Begriffe AND und OR ausgedrückt. Hinzu kommt noch der nicht-Operator, also NOT.

Schreibweise

Je nach (Programmier-)Sprache, in der die Operatoren verwendet werden, haben sich unterschiedliche Schreibweisen durchgesetzt. Gebräuchlich sind

  • AND oder &&
  • OR oder ||
  • NOT oder !

Beispiele

  • True AND False oder True && False
  • True OR False oder True || False
  • NOT True oder ! True

Wahrheitstabellen

Um zu sehen, zu welchem Ergebnis die Verknüpfung zweier Wahrheitswerte mit einem Operator kommt, kann man diese in einer sogenannten Wahrheitstabelle niederschreiben. Dort werden alle verschiedenen Kombinationsmöglichkeiten mit ihren Ergebnissen dargestellt.

AND OR
Wert 1 Wert 2 Ergebnis Wert 1 Wert 2 Ergebnis
False False False False False False
False True False False True True
True False False True False True
True True True True True True

Wie man sieht, müssen bei der AND-Verknüpfung beide Parameter wahr sein, damit ein wahres Ergebnis herauskommt. Einmal wahr alleine reicht nicht.

Bei der OR-Verknüpfung reicht bereits ein wahrer Parameter um das ganze Ergebnis wahr werden zu lassen. Auch beide dürfen wahr sein, damit das so bleibt.

Bei NOT gibt es nur einen Parameter. Deshalb sieht es dort wesentlich übersichtlicher aus:

  • NOT True = False
  • Not False = True

Komplexe Kombinationen von Verknüpfungen

In der Informatik werden logische Vergleichsoperatoren häufig genutzt um den Wert von Variablen zu überprüfen, zum Beispiel so: $var < 50

Wenn der Wert der Variable $var kleiner ist als 50, dann ergibt dieser Ausdruck True, ansonsten ergibt er False.

Wenn nun verschiedene Bedingungen zusammen überprüft werden müssen und eine Entscheidung im Programm von vielen solchen Überprüfungen abhängt, dann benötigt man logische Verknüpfungsoperatoren um diese wie gewünscht miteinander zu verbinden. Damit klar ist, in welcher Reihenfolge sie zusammengehören, werden meist Klammern eingesetzt.

Beispiel

Im folgenden Beispiel wird ein solcher Ausdruck Schritt für Schritt aufgelöst. Dazu nehmen wir an, dass die Variable $v den Wert von 42 hat.

(   ($v > 50)  AND  (300 != $v)   )     OR     (   ($v < 10)  OR  ($v < 100)   )
 
(   ( False )  AND  (  True   )   )     OR     (   ( False )  OR  (  True  )   )
 
(             False               )     OR     (             True              )
 
                                       True

In dem hier dargestellten Beispiel wird in jedem Schritt anhand der oben abgebildten Wahrheitstabellen eine Ebene von logischen Verknüpfungen zu einem einzigen Wahrheitswert reduziert. Diese Schritte wiederholen sich so lange, bis das Endergebnis feststeht.