
Boolean Algebra
In Mathematik und mathematischer Logik, Boolean algebra ein Teilbereich der Algebra, in dem die Werte der Variablen wahr oder falsch sind, typischerweise mit 1 oder 0 bezeichnet bezeichnet werden. Im Gegensatz zur elementaren Algebra, in der die Werte der Variablen Zahlen sind und die wichtigsten Operationen addition und Multiplikation sind, sind die Hauptoperationen der Booleschen Algebra die Konjunktion (bezeichnet mit ∧), die disjunktion (bezeichnet als ∨) und die Negation (bezeichnet als ¬).
In dieser Aufgabe sollen Sie einige boolesche Operationen implementieren:
- "Konjunktion"
bezeichnet mit x ∧ y, erfüllt x ∧ y = 1, wenn x = y = 1 und x ∧ y = 0 sonst.
- "Disjunktion"
bezeichnet mit x ∨ y, erfüllt x ∨ y = 0, wenn x = y = 0 und x ∨ y = 1 andernfalls.
- "Implikation" (materielle Implikation)
wird mit x→y bezeichnet und kann als ¬ x ∨ y beschrieben werden.
Wenn x wahr ist, dann wird der Wert von x → y als der Wert von y angenommen.
Wenn x jedoch falsch ist, kann der Wert von y ignoriert werden; die Operation muss jedoch einen
die Operation muss jedoch einen Wahrheitswert zurückgeben und es gibt nur zwei Möglichkeiten, also ist der Rückgabewert derjenige, der weniger bedeutet, nämlich wahr.
- "exklusiv" (exklusiv oder)
wird mit x ⊕ y bezeichnet und kann als (x ∨ y)∧ ¬ (x ∧ y) beschrieben werden.
Es schließt die Möglichkeit aus, dass sowohl x als auch y möglich sind. Arithmetisch definiert ist es die Addition mod 2, wobei 1 + 1 =
0.
- "Gleichwertigkeit"
wird mit x ≡ y bezeichnet und kann als ¬ (x ⊕ y) beschrieben werden.
Es ist nur wahr, wenn x und y den gleichen Wert haben.
Hier sehen Sie die Wahrheitstabelle für diese Operationen:
x | y | x∧y | x∨y | x→y | x⊕y | x≡y | -------------------------------------- 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | --------------------------------------
Sie erhalten zwei boolesche Werte x und y als 1 oder 0 und Sie erhalten eine Operation name wie oben beschrieben. Sie sollen den Wert berechnen und ihn als 1 oder 0 zurückgeben.
Eingabe: Drei Argumente. X und Y als 0 oder 1. Ein Operationsname als String.
Ausgabe: Das Ergebnis als 1 oder 0.
Beispiel:
assert.strictEqual(boolean(0, 0, "conjunction"), 0); assert.strictEqual(boolean(0, 1, "conjunction"),...