meta data for this page
- 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
oderTrue && False
True OR False
oderTrue || 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.