In vielen Algorithmen begegnen uns Bedingungen – etwa in Schleifen oder Verzweigungen. Sie entscheiden darüber, wie oft oder ob überhaupt bestimmte Befehle ausgeführt werden. Solche Bedingungen werden in der Informatik als logische Aussagen bezeichnet.
Wahrheit von logischen Aussagen
Eine logische Aussage ist ein Satz, der entweder wahr oder falsch ist.
- Beispiel für eine wahre Aussage: „7 ist kleiner als 12“.
- Beispiel für eine falsche Aussage: „9 ist eine gerade Zahl“.
Ob eine Aussage wahr oder falsch ist, nennt man ihren Wahrheitswert. In der Informatik arbeiten wir meist mit Aussagen, deren Wahrheitswert eindeutig bestimmbar ist. Dabei verwenden wir oft die Begriffe true (1) für „wahr“ und false (0) für „falsch“.
Nicht jeder Satz ist eine logische Aussage. Paradoxe wie „Dieser Satz ist falsch“ oder auch Fragen und Ausrufe lassen sich nicht eindeutig als wahr oder falsch einordnen – sie sind daher keine logischen Aussagen.
Zusammengesetzte Aussagen
Neben einfachen Aussagen betrachten wir häufig auch verknüpfte Aussagen. Diese entstehen durch logische Operatoren, die mehrere Aussagen kombinieren:
- Mit UND (Konjunktion) ist die Gesamtaussage nur dann wahr, wenn beide Teilaussagen wahr sind.
- Mit ODER (Disjunktion) genügt es, wenn mindestens eine der Teilaussagen wahr ist.
- Mit NICHT (Negation) wird der Wahrheitswert einer Aussage umgekehrt: aus wahr wird falsch, aus falsch wird wahr.
Beispiel:
- Aussage A: „x > 0“
- Aussage B: „x < 10“
- Verknüpfung: „A UND B“ ist genau dann wahr, wenn x größer als 0 und gleichzeitig kleiner als 10 ist.
Wahrheitswerttabellen
Um die Wirkung logischer Operatoren präzise darzustellen, nutzen wir Wahrheitswerttabellen. Sie zeigen für jede mögliche Kombination der Teilaussagen den Wahrheitswert der zusammengesetzten Aussage.
Beispiel: UND-Verknüpfung
|
A |
B |
A UND B |
|
true |
true |
true |
|
true |
false |
false |
|
false |
true |
false |
|
false |
false |
false |
Analog lassen sich Tabellen für ODER und NICHT erstellen.
logisches NICHT (NOT)
Das logische NICHT ist der einfachste logische Operator. Es kehrt den Wahrheitswert einer Aussage um:
- Aus einer wahren Aussage wird eine falsche.
- Aus einer falschen Aussage wird eine wahre.
In der Literatur und Praxis begegnet dir das NICHT in verschiedenen Schreibweisen:
- NOT (englische Variante, oft in Pseudocode verwendet)
- ¬ (mathematisches Symbol)
- ! (häufig in Programmiersprachen wie C, Java oder JavaScript)
Beispiel:
- Aussage A: „5 ist größer als 3“ → wahr
- Aussage ¬A: „Es ist nicht der Fall, dass 5 größer als 3 ist“ → falsch
Wahrheitswerttabelle für NICHT
|
A |
NICHT A |
|
wahr |
falsch |
|
falsch |
wahr |
Diese Tabelle zeigt: Das logische NICHT benötigt nur eine einzige Aussage als Eingabe und liefert deren Umkehrung als Ergebnis.
Anwendung
Das logische NICHT wird oft in Bedingungen eingesetzt, um eine Bedingung zu verneinen.
Beispiel im Pseudocode:
Eingabe: Zahl x
Ausgabe: Textausgabe
01 Falls NICHT (x > 0) dann
02 Gib "x ist nicht positiv" aus
Hier wird die Bedingung „x > 0“ verneint. Der Block wird also genau dann ausgeführt, wenn x kleiner oder gleich 0 ist.
Logisches UND
Das logische UND verknüpft zwei Aussagen so, dass die Gesamtaussage nur dann wahr ist, wenn beide Teilaussagen wahr sind. Sobald eine der beiden Aussagen falsch ist, wird auch die Gesamtaussage falsch.
In verschiedenen Kontexten wird das UND unterschiedlich notiert:
- AND – englische Schreibweise, oft in Pseudocode
- ∧ – mathematisches Symbol
- && – in vielen Programmiersprachen (z. B. C, Java, JavaScript)
Beispiel:
- Aussage A: „x > 0“
- Aussage B: „x < 10“
- Verknüpfung: „A ∧ B“ ist genau dann wahr, wenn x größer als 0 und gleichzeitig kleiner als 10 ist.
Wahrheitswerttabelle für UND
|
A |
B |
A ∧ B |
|
falsch |
falsch |
falsch |
|
falsch |
wahr |
falsch |
|
wahr |
falsch |
falsch |
|
wahr |
wahr |
wahr |
Anwendung im Pseudocode
Eingabe: Zahl x
Ausgabe: Textausgabe
01 Falls (x > 0) UND (x < 10) dann
02 Gib "x liegt zwischen 1 und 9" aus
03 Sonst
04 Gib "x liegt außerhalb des Bereichs" aus
Hier wird die Bedingung nur dann erfüllt, wenn beide Teilaussagen zutreffen.
Logisches ODER
Das logische ODER beschreibt eine Verknüpfung, bei der die Gesamtaussage bereits dann wahr ist, wenn mindestens eine der beiden Teilaussagen wahr ist. Nur wenn beide Aussagen falsch sind, wird auch die Gesamtaussage falsch.
In verschiedenen Kontexten wird das ODER unterschiedlich notiert:
- OR – englische Schreibweise, oft in Pseudocode
- ∨ – mathematisches Symbol (abgeleitet vom lateinischen vel = „oder“)
- || – in vielen Programmiersprachen (z. B. C, Java, JavaScript)
Beispiel:
- Aussage A: „x ist gerade“
- Aussage B: „x ist größer als 10“
- Verknüpfung: „A ∨ B“ ist wahr, wenn x gerade ist oder größer als 10 (oder beides zugleich).
Wahrheitswerttabelle für ODER
|
A |
B |
A ∨ B |
|
falsch |
falsch |
falsch |
|
falsch |
wahr |
wahr |
|
wahr |
falsch |
wahr |
|
wahr |
wahr |
wahr |
Wichtiger Unterschied zur Alltagssprache
Im Deutschen wird „oder“ oft im Sinne von „entweder, oder“ verstanden, also ausschließend: Entweder trifft die eine Aussage zu oder die andere – aber nicht beide gleichzeitig.
Das logische ODER hingegen ist einschließend: Auch wenn beide Aussagen wahr sind, bleibt die Gesamtaussage wahr.
Anwendung im Pseudocode
Eingabe: Zahl x
Ausgabe: Textausgabe
01 Falls (x < 0) ODER (x > 100) dann
02 Gib "x liegt außerhalb des Bereichs 0–100" aus
03 Sonst
04 Gib "x liegt im Bereich 0–100" aus
Klammerung / Vorrang von logischen Operatoren
Wie in der Mathematik bestimmen auch bei logischen Ausdrücken Klammern die Reihenfolge der Auswertung. Das ist besonders wichtig, wenn mehrere Operatoren kombiniert werden. Ohne klare Klammerung kann ein Ausdruck unterschiedliche Ergebnisse liefern.
Beispiel mit drei Aussagen:
Nehmen wir drei Aussagen:
- A: „x ist größer als 0“
- B: „x ist gerade“
- C: „x ist kleiner als 10“
Nun vergleichen wir zwei verschiedene Klammerungen:
- (A ∧ B) ∨ C
- A ∧ (B ∨ C)
Obwohl beide Ausdrücke dieselben Teilaussagen enthalten, können sie unterschiedliche Wahrheitswerte ergeben.
Wahrheitswerttabelle
|
A |
B |
C |
(A ∧ B) ∨ C |
A ∧ (B ∨ C) |
|
falsch |
falsch |
falsch |
falsch |
falsch |
|
falsch |
falsch |
wahr |
wahr |
falsch |
|
falsch |
wahr |
falsch |
falsch |
falsch |
|
falsch |
wahr |
wahr |
wahr |
falsch |
|
wahr |
falsch |
falsch |
falsch |
falsch |
|
wahr |
falsch |
wahr |
wahr |
wahr |
|
wahr |
wahr |
falsch |
wahr |
wahr |
|
wahr |
wahr |
wahr |
wahr |
wahr |
Man erkennt: Die beiden Klammerungen liefern nicht immer dasselbe Ergebnis. Deshalb ist eine korrekte Klammerung entscheidend, um Missverständnisse zu vermeiden.
Vorrangregeln
Wie bei „Punkt vor Strich“ in der Mathematik gibt es auch für logische Operatoren eine Reihenfolge der Auswertung:
- NICHT (¬ / NOT / !)
- UND (∧ / AND / &&)
- ODER (∨ / OR / ||)
Das bedeutet: Zuerst werden Negationen ausgewertet, dann Konjunktionen, und zuletzt Disjunktionen.
💡Erklärung:
Konjunktion (UND): Eine Konjunktion ist genau dann wahr, wenn beide Teilaussagen wahr sind.
Disjunktion (ODER): Eine Disjunktion ist wahr, wenn mindestens eine der Teilaussagen wahr ist.
Empfehlung
Auch wenn diese Vorrangregeln gelten, ist es in der Praxis oft besser, Klammern explizit zu setzen. Das erhöht die Lesbarkeit und macht die Absicht des Algorithmus eindeutig.
Beispiel im Pseudocode:
Eingabe: Zahl x
Ausgabe: Textausgabe
01 Falls ( (x > 0) UND (x < 10) ) ODER (x = 100) dann
02 Gib "x liegt im gewünschten Bereich" aus
03 Sonst
04 Gib "x liegt außerhalb des Bereichs" aus
Hier sorgen die Klammern dafür, dass sofort klar ist: Die Bedingung „x > 0 UND x < 10“ wird als Einheit betrachtet, bevor das ODER mit „x = 100“ ausgewertet wird.
Besondere logische Aussagen: Tautologien und Kontradiktionen
Normalerweise hängt der Wahrheitswert einer Aussage davon ab, welche Werte die zugrunde liegenden Variablen annehmen. Es gibt jedoch auch besondere Aussagen, deren Wahrheitswert unabhängig von den Variablen immer gleich bleibt.
Tautologie
Eine Tautologie ist eine Aussage, die immer wahr ist – egal, welche Werte die Variablen haben.
Beispiel:
„x ist gerade ∨ x ist ungerade“
Egal, welchen Wert x annimmt, eine der beiden Teilaussagen trifft immer zu.
Kontradiktion
Eine Kontradiktion ist das Gegenteil: eine Aussage, die immer falsch ist – unabhängig von den Variablen.
Beispiel:
„x ist gerade ∧ x ist ungerade“
Da eine Zahl niemals gleichzeitig gerade und ungerade sein kann, ist diese Aussage stets falsch.
Einsatz
- Tautologien sind nützlich, um allgemeingültige Regeln oder logische Gesetze zu formulieren.
- Kontradiktionen helfen, Widersprüche aufzudecken und fehlerhafte Logik zu erkennen.
