
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:
assert boolean(0, 0, "conjunction") == 0 assert boolean(0, 1, "conjunction")...
CheckiO Extensions allow you to use local files to solve missions. More info in a blog post.
In order to install CheckiO client you'll need installed Python (version at least 3.8)
Install CheckiO Client first:
pip3 install checkio_client
Configure your tool
checkio --domain=py config --key=
Sync solutions into your local folder
checkio sync
(in beta testing) Launch local server so your browser can use it and sync solution between local file end extension on the fly. (doesn't work for safari)
checkio serv -d
Alternatevly, you can install Chrome extension or FF addon
checkio install-plugin
checkio install-plugin --ff
checkio install-plugin --chromium
Read more here about other functionality that the checkio client provides. Feel free to submit an issue in case of any difficulties.