[old] Boolean Algebra

[old] Boolean Algebra

In der Mathematik und der mathematischen Logik ist die boolesche Algebra eine spezielle algebraische Struktur, welche die Grundlage für den Entwurf von elektronischen Schaltungen bis hin zu Computern darstellt. Sie kennt nur die Zustände wahr oder falsch, die den Zuständen "Strom fliesst" und "Strom fliesst nicht" in einem Schaltkreis entsprechen, typischerweise mit 1 respektiv 0 dargestellt. Im Unterschied zur elementaren Algebra, deren Variablen Werte als Zahlen besitzen mit den Grundoperationen Addition und Multiplikation, sind die Grundoperationen der booleschen Algebra die Konjunktion (∧, gesprochen UND), Disjunktion (∨, gesprochen ODER) und Negation (¬, gesprochen NICHT).

In dieser Mission sollst Du die folgenden booleschen Operationen implementieren:
- "conjunction"(deutsch: Konjunktion) Schreibweise x ∧ y, es gilt x ∧ y = 1 nur wenn x = y = 1, andernfalls x ∧ y = 0.
- disjunction"(deutsch: Disjunktion) Schreibweise x ∨ y, es gilt x ∨ y = 0 nur wenn x = y = 0, andernfalls x ∨ y = 1.
- "implication" (deutsch: materiale Implikation) Schreibweise x→y kann auch als ¬ x ∨ y geschrieben werden. Wenn x wahr ist, dann muss für x → y = 1 auch y wahr sein. Wenn aber x falsch ist, kann y ignoriert werden, und der Ausdruck ist immer wahr.
- "exclusive"(deutsch: ausschließende Disjunktion, ausschließendes ODER) Schreibweise x ⊕ y kann auch mit (x ∨ y)∧ ¬ (x ∧ y) beschrieben werden. Schliesst die Möglichkeit von x ∧ y aus. Als arithmetischer Ausdruck ist es eine Addition und Division von 2 mit Rest, wobei 1 + 1 = 0 ist.
- "equivalence"(deutsch: materiale Äquivalenz, Bikonditional) Schreibweise x ≡ y, kann auch mit ¬ (x ⊕ y) beschrieben werden. Ist nur dann wahr, wenn x und y den selben Zustand haben.

So sieht die Wahrheitstabelle für diese Operationen aus:

 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  |
--------------------------------------

Du erhältst je einen booleschen Wert für x und y sowie eine der eben beschriebenen Operationen. Du musst den resultierenden Zustand berechnen und als 1 oder 0 zurückgeben.

Eingabe: Drei Argumente. x und y als 0 oder 1. Der Name der Operation als String.

Ausgabe: Das Ergebnis als 1 oder 0.

Beispiele:

boolean(1, 0, "conjunction")...
You should be an authorized user in order to see the full description and start solving this mission.
19