Vergleichen mit Tabellen
Alle Fälle durchspielen
Um zwei Bool'sche Ausdrücke zu vergleichen, kann man alle möglichen Fälle durchspielen. Man erstellt eine Tabelle mit allen möglichen Fällen und wertet die beiden Ausdrücke aus. Kommt immer dasselbe heraus, sind die beiden Ausdrücke logisch gleich.
Aufgabe
Erstelle für beide Ausdrücke eine Tabelle mit allen möglichen Fällen, um die beiden Bool'schen Ausdrücke
not (kara.treeLeft() and kara.treeRight())
und
not kara.treeLeft() or not kara.treeRight()
zu vergleichen. Es hilft, dabei die einzelnen Bestandteile der Bool'schen Ausdrücke als Hilfsspalten in die Tabelle aufzunehmen; so kannst du die Ausdrücke leichter schrittweise auswerten.
Dir kann hier Aufgabe 7 aus der Strukturierung helfen.
Bei jeder einzelnen Bedingung gibt es zwei Möglichkeiten (sie ist erfüllt oder sie ist nicht erfüllt). Für jede weitere Bedingung wird die Gesamtanzahl mit 2 multipliziert. Es gibt hier also $2^2 = 4$ Fälle.
Es kann sein, dass beide Bedingungen nicht erfüllt sind (a). Oder nur eine der beiden Bedingungen ist erfüllt (b). Oder die andere (c). Oder beide (d).
Bei der ersten Bedingung kannst du so vorgehen; du füllst dann zuerst die dritte Spalte. Mithilfe dieser Hilfsspalte kannst du dann ganz einfach die vierte Spalte füllen.
kara.treeLeft() | kara.treeRight() | kara.Left() and kara.treeRight() | not (kara.treeLeft() and kara.treeRight()) |
---|---|---|---|
False | False | ||
True | False | ||
False | True | ||
True | True |