Sei mini-giochi sulla logica booleana.
- Verità o Falso — valuta un'espressione su A,B,C.
- Karnaugh 3v — mappa 2×4 (BC in Gray: 00,01,11,10).
- SAT 3-CNF — imposta A,B,C per soddisfare tutte le clausole.
- Karnaugh 4v — mappa 4×4 (AB/CD in Gray).
- Quine–McCluskey — minimizzazione fino a 4 variabili, con passaggi.
- Circuiti — porte AND/OR/NOT/XOR collegabili, simulazione live.
📘 Legenda simboli logici
∧ | AND (E) | Vero se entrambi sono veri. |
∨ | OR (O) | Vero se almeno uno è vero. |
¬ | NOT (NON) | Inverte il valore (0↔1). |
⊕ | XOR | Vero se sono diversi. |
→ | Implicazione | Falsa solo se sinistra=1 e destra=0. |
↔ | Equivalenza | Vera se i due valori sono uguali. |
📗 Cos'è l’Ordine Gray?
L’ordine Gray elenca le combinazioni binarie in modo che ogni passaggio cambi un solo bit. Per 2 bit la sequenza è 00 → 01 → 11 → 10. Nelle mappe di Karnaugh si usa questo ordine per righe/colonne così celle adiacenti differiscono per una sola variabile: è perfetto per trovare gruppi di 1 e semplificare le funzioni.
📘 Spiegazione (come si risolve)
Obiettivo: decidere se l'espressione booleana è vera o falsa per i valori indicati di A
, B
, C
.
- Sostituisci ai simboli le cifre: 1 = Vero, 0 = Falso.
- Calcola dentro le parentesi e procedi verso l'esterno.
- Regole: AND (∧) è 1 solo se entrambi 1; OR (∨) è 1 se almeno uno è 1; NOT (¬) inverte; XOR (⊕) è 1 se sono diversi; → è falsa solo se sinistra=1 e destra=0.
Esempio svolto. Espr.: (A ∧ B) → ¬C
, valori: A=1, B=0, C=1
→
(1 ∧ 0)=0, ¬1=0, quindi (0 → 0)=1 → Vero.
Tip: Hint mostra la formula annotata con T/F passo passo.
📘 Spiegazione
Cos'è: mappa di Karnaugh 2×4 per A
, B
, C
. Ogni cella è una combinazione di valori.
- Righe =
A
(0 in alto, 1 in basso). - Colonne =
BC
in ordine Gray: 00, 01, 11, 10 (tra colonne adiacenti cambia un solo bit).
Come risolvere:
- Leggi la Funzione (es. A ∧ C).
- Per ogni cella chiediti: con quei
A,B,C
la funzione vale 1? Se sì, clicca e metti 1; altrimenti 0. - Usa Check per verificare; Hint corregge una cella; Soluzione compila tutto.
Esempio. Funzione: A ∧ C. Metti 1 nelle celle dove A=1 e C=1 (B non conta).
L'ordine Gray è utile per i raggruppamenti quando si semplifica.
📗 Cos'è l’Ordine Gray?
L’ordine Gray per due bit è 00, 01, 11, 10: passando da una colonna alla successiva cambia un solo bit. Così due celle vicine rappresentano combinazioni quasi uguali e puoi unire i loro 1 per ridurre la funzione.
📘 Spiegazione
Che cos'è: un'istanza di 3-CNF SAT. Ogni clausola è del tipo (X ∨ Y ∨ Z) ed è vera se almeno una delle tre parti è vera.
Obiettivo: impostare A
, B
, C
in modo che tutte le clausole diventino verdi.
- Scegli una clausola rossa, es. (A ∨ ¬B ∨ C).
- Valuta i tre pezzi con i valori attuali (se B=1, allora ¬B=0).
- Se tutti e tre valgono 0, cambia una variabile che la rende 1 (qui: A=1 oppure C=1 o B=0).
Esempio. Clausole: (A ∨ ¬B ∨ C), (¬A ∨ B ∨ C). Con A=1, B=0, C=1 entrambe sono vere.
🧭 Guida rapida + Legenda
- Verde = clausola vera; nessun colore = clausola falsa.
- Ogni clausola (X ∨ Y ∨ Z) è vera se almeno uno dei tre è vero.
- ¬A significa “NON A” (inverte A).
- Hint imposta una variabile al valore giusto della soluzione nascosta.
- Reset rimette A=B=C=0.
Esempio veloce. Clausola (A ∨ ¬B ∨ C): è vera se A=1 o B=0 o C=1.
📘 Spiegazione
Cos'è: mappa di Karnaugh 4×4 per A
, B
, C
, D
.
- Righe =
AB
in Gray: 00, 01, 11, 10. - Colonne =
CD
in Gray: 00, 01, 11, 10.
- Leggi la Funzione (es. B ∨ D).
- Metti 1 nelle celle dove la funzione è vera (qui: quando B=1 o D=1).
- Check verifica; Hint corregge una cella.
Le adiacenze (anche ai bordi) permettono di trovare gruppi 1-2-4-8 e semplificare.
📗 Ordine Gray (ripasso)
Per due bit: 00, 01, 11, 10. Per AB
lo applichiamo alle righe; per CD
alle colonne.
Le celle ai bordi sono adiacenti (alto/basso, sinistra/destra), quindi anche i gruppi possono “avvolgere”.
Passaggi
📘 Spiegazione
Obiettivo: ottenere la forma minima di una funzione partendo dai minterms (le combinazioni che valgono 1).
- Binario: scrivi ogni minterm in binario con N bit.
- Raggruppa per numero di 1 (0,1,2,...).
- Combina coppie che differiscono per un solo bit → sostituisci quel bit con “-”.
- Quelli non più combinabili sono implicanti primi.
- Costruisci la tabella coperture e scegli gli implicanti essenziali.
- Copri i restanti minterms con il minor numero di implicanti.
- Traduci le maschere in termini: 1 = variabile, 0 = negazione, - = assente. Es.: 01-1 → ¬A ∧ B ∧ D.
Mini-esempio (3 variabili): minterms {1,3,5,7} → implicanti -1- e --1 → forma minima B ∨ C.
🧭 Guida rapida + Legenda
Minterm = numero della riga (in binario) in cui l’uscita vale 1.
- Raggruppa per numero di 1 → combina quelli che differiscono per un solo bit.
- Una maschera -1-0 significa: “B=1, D=0, gli altri non contano”.
- Traduzione: 1 → variabile, 0 → negazione, - → assente.
Esempio flash (3v): minterms {1,3} → maschera -1- → forma minima B.
📘 Spiegazione
Costruisci un circuito aggiungendo porte AND, OR, NOT, XOR e collegando gli ingressi dal menu a tendina. Puoi usare come ingressi anche l’uscita di altre porte.
- AND: 1 solo se tutti gli ingressi sono 1.
- OR: 1 se almeno uno è 1.
- NOT: inverte (0→1, 1→0).
- XOR: 1 se gli ingressi sono diversi.
Seleziona l’Output osservato in basso per vedere il valore corrente e la tabella della verità completa.
Esempio rapido. Crea G1 = AND(A,B) e poi G2 = XOR(G1,C). L’uscita è 1 quando esattamente uno tra G1 e C è 1; e G1 è 1 solo se A=1 e B=1.