Der Browser-Speicher localStorage ist nicht verfügbar. Entweder unterstützt dein Browser ihn nicht oder du hast ihn deaktiviert oder er ist voll. Ohne localStorage werden deine Lösungen nicht gespeichert.
XOR
Die logischen Operatoren kennen, ähnlich der Punkt- vor Strich-Rechnung, eine Reihenfolge:
NICHT zuerst, anschließend UND, zuletzt ODER. Möchte man diese Reihenfolge ändern, verwendet man Klammern:
In der folgenden Aufgabe sollst du ein weiteres wichtiges Gatter, das XOR-Gatter (engl.: eXclusive OR - exklusives oder), programmieren.
let x1 = true || false && false;
let x2 = (true || false) && false;
let x3 = !false && false;
let x4 = !(false && false);
In der ersten Zeile wird zuerst UND ausgewertet. x1
wird true
.
In der zweiten Zeile wird zuerst ODER ausgewertet. x2
wird false
.
In der dritten Zeile wird zuerst NICHT ausgewertet. x3
wird false
.
Und in der vierten Zeile wird zuerst UND ausgewertet. x4
wird true
.In der folgenden Aufgabe sollst du ein weiteres wichtiges Gatter, das XOR-Gatter (engl.: eXclusive OR - exklusives oder), programmieren.
Aufgabe
Schreibe eine Funktion
D. h.:
xor
, die zwei boolesche Werte als Parameter entgegennimmt.
Die Rückgabe der Funktion soll true
sein, wenn beide Paramter verschieden sind.
In den anderen Fällen soll die Rückgabe false
sein.D. h.:
xor(true, false)
und
xor(false, true)
sollen true
liefern, xor(true, true)
und
xor(false, false)
sollen false
zurückgeben.
+ Tipp
Schreibe einen Ausdruck, der nur dann
true
ergibt, wenn der erste Parameter true
und
der zweite false
ist. Schreibe dann einen Ausdruck, der nur dann true
ergibt, wenn der erste
Parameter false
und der zweite true
ist. Verknüpfe beide Ausdrücke angemessen.
Klammern sind bei der Lösung nicht nötig.
+ Lösung
function xor(a, b) {
return a && !b || !a && b;
}