![[old] Boolean Algebra](https://dk1vwk12q8pjl.cloudfront.net/media/logos/task/middle/boolean-algebra-disabled.png)
[old] Boolean Algebra
In matematica ed in logica matematica l' algebra Booleana è una branca dell'algebra in cui i valori della variabili sono vero o falso, tipicamente denotati rispettivamente da 1 o 0. Mentre nell'algebra elementare i valori delle variabili sono numeri e le operazioni principali sono addizione e moltiplicazione, nell'algebra Booleana le operazioni principali sono la congiunzione (denotata ∧), la disgiunzione (denotata ∨) e la negazione (denotata ¬).
In questa missione devi implementare alcune operazioni booleane:
- "conjunction" (congiunzione)
denotata x ∧ y, soddisfa x ∧ y = 1 se x = y = 1 ed x ∧ y = 0 altrimenti.
- "disjunction" (disgiunzione)
denotata x ∨ y, soddisfa x ∨ y = 0 se x = y = 0 ed x ∨ y = 1 altrimenti.
- "implication" (implicazione materiale)
denotata x→y, può essere descritta come ¬ x ∨ y.
Se x è vero allora x → y prende il medesimo valore di y.
Se x è falso allora il valore di y può essere ignorato; l'operazione deve comunque restituire qualche valore
di verità e cis ono solo due possibili scelte, dunque il valore di ritorno è quello che
implica di meno, cioè vero.
- "exclusive" (disgiunzione esclusiva)
denotata x ⊕ y, può essere descritta come (x ∨ y)∧ ¬ (x ∧ y).
Esclude la possibilità che x ed y siano entrambi veri. Definita in termini aritmetici è la
addizione modulo 2, per la quale 1 + 1 = 0.
- "equivalence" (equivalenza)
denotata x ≡ y, può essere descritta come ¬ (x ⊕ y).
È vera solo quando x ed y hanno lo stesso valore.
Ecco la tabella di verità per queste operazioni:
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 | --------------------------------------
Ti vengono dati due valori booleani x ed y come 1 o 0 e ti viene dato il nome di una delle operazioni come descritto in precedenza. Devi calcolare il valore e restituirlo come 1 o 0.
Input: Tre argomenti. X ed Y come 0 o 1. Il nome di un'operazione come una stringa.
Output: Il risultato come 1 o 0.
Esempio:
boolean(1, 0, "conjunction") == 0 boolean(0,...