Boolesche Algebra

Einführung

Um Probleme der Logik abstrakt beschreiben und lösen zu können, verwenden die Mathematik und die Informatik das Instrument der booleschen Algebra. Die boolesche Algebra ist eine spezielle algebraische Struktur, die mathematische Aussagen mit logischen Operatoren UND, ODER und NICHT definiert. Dabei gelten Aussagen als mathematisch, wenn sie klar als wahr (w) bzw. falsch (f) zu berechnen sind. Aussagen können wie folgt dargestellt werden:

Mathematische Aussagen wären:

  • Essen liegt in Nord-Rhein-Westfalen. (wahre Aussage)

  • Das Friedrich List Berufskolleg hat 10.000 Schüler. (falsche Aussage)

Dagegen aber keine mathematischen Aussagen wären:

  • Schule ist toll!

  • Informatik macht Spaß!

Mehrere mathematische Aussagen können mit Operatoren zu Verknüpfungen verbunden werden. Diese wären:

Regeln und Aufbau

Das Ergebnis, ob ein oder mehrere durch Operatoren verkettete Aussagen „WAHR“ oder „FALSCH“ ist wird anhand folgender Verknüpfungen und Verknüpfungsregeln ermittel:

  • Disjunktionen / UND-Verknüpfung

    • Eine wahre und eine falsche Aussage durch "Und" verknüpft, ergibt eine falsche Aussage.

    • Zwei wahre Aussagen durch "Und" verknüpft, ergibt eine wahre Aussage.

    • Zwei falsche Aussagen durch "Und" verknüpft, ergibt eine falsche Aussage.

    • Beispiele:

      • Essen liegt in NRW (w) und das FLBK hat 10.000 Schüler (f), ist insgesamt eine falsche Aussage.

      • Deutschland liegt in Europa (w) und hat eine Grenze zu Österreich (w), ist eine wahre Aussage.

      • Deutschland liegt nördlich von Schweden (f) und die Währung sind Franken (f), ist eine falsche Aussage.

  • Konjunktionen / ODER-Verknüpfung

    • Eine wahre und eine falsche Aussage durch "Oder" verknüpft, ist eine wahre Aussage.

    • Zwei wahre Aussagen durch "Oder" verknüpft, ergeben ebenfalls eine wahre Aussage.

    • Zwei falsche Aussagen durch "Oder" verknüpft bleiben falsch.

    • Beispiele:

      • Essen liegt in NRW (w) oder das FLBK hat 10.000 Schüler (f), ergeben eine wahre Aussage.

      • Deutschland liegt in Europa (w) oder hat eine gemeinsame Grenze zu Österreich (w), ergeben natürlich ebenfalls eine wahre Aussage.

      • Deutschland liegt nördlich von Schweden (f) oder die deutsche Währung sind Franken (f), ergeben eine falsche Aussage.

Sollten mehr als zwei Aussagen verknüpft werden, gilt, dass eine durch "Und" verknüpfte Aussagenreihe nur wahr ist, wenn alle Aussagen wahr sind. Sobald also nur eine dieser Aussagen nicht zutrifft, ist das Ergebnis falsch. Bei "Oder" dagegen ist das Ergebnis solange wahr wie eine der Aussagen zutrifft, ist also nur falsch, wenn alle Aussagen nicht zutreffen.

  • Negation / NICHT-Verknüpfung

    • Eine durch "Nicht" verneinte wahre Aussage wird falsch.

    • Eine durch "Nicht" verneinte falsche Aussage wird wahr.

    • Beispiel:

      • Essen liegt nicht in NRW, wird durch das "Nicht" zu einer falschen Aussage

      • Das FLBK hat nicht 10.000 Schüler, wird durch das "Nicht" zu einer wahren Aussage.

  • Verschachtelte Aussagen

    • Zuerst werden in Klammern stehende Aussagen zusammengefasst bzw. verknüpft.

    • Danach werden die Negationen berücksichtigt.

    • Darauf folgen die Konjunktionen (UND-Verknüpfung).

    • Zuletzt werden die Disjunktionen verknüpft (ODER-Verknüpfung).

Vergleichsoperatoren und Argumente

Ein Vergleichsoperator ist ein Operator, der auf zwei Argumente angewendet wird und einen Wahrheitswert liefert. Vergleichsoperatoren werden vor allem in mathematischen Gleichungen bzw. Ungleichungen und in logischen Ausdrücken von Programmiersprachen verwendet, um komplexere Aussagen zu modellieren.

Umsetzung in Java

Die boolesche Algebra wird in JAVA unter anderem in Verzweigungen und Schleifen eingesetzt . Eine Verzweigung wird durch die Überprüfung einer Aussage realisiert:

if(Aussage){

Führe aus, wenn die Aussage WAHR ist!

}else{

Führe aus, wenn die Aussage FALSCH ist!

}

In Java werden Aussagen auf zwei Weisen definiert.

  • Anhand von Datenfeldern vom Typ boolean.

Mit Hilfe des Datentyps boolean lassen sich komplexe Aussagen modellieren. So kann man die benötigten Variablen wie folgt in Java deklarieren und instanziieren.

private boolean A = true;

private boolean B = false;

private boolean C = true;

private boolean D = false;

if ((A| B) & (! C | C)) {

System.out.println(„WAHR“);

}else{

System.out.println(„FALSCH“);

}

  • Anhand von Vergleichen einer oder mehrerer Argumente

Für alle anderen Datentypen lässt sich ermitteln, ob eine Aussage „WAHR“ oder „FALSCH“ ist, in dem man zwei Datenfelder oder Objekte mit einander vergleicht.

Ein Beispiel:

private boolean istXGroesserY(int x, int y){

if(x>y){

return true;

}else{

return false;

}

}

Umsetzung in SQL

Abfragen mit Filter

SELECT Vorname, Nachname FROM Mitarbeiter WHERE ((Nachname= 'Krause'OR Vorname = 'Manuel')AND IdMitarbeiter!=1)

Ergebnis:

Nachname

Bitter

Krause

Vorname

Manuel

Christoph