Sei sulla pagina 1di 12

Corsi di Laurea in

03 - Logica Booleana Ingegneria Biomedica e


Ingegneria Elettronica per
l'Energia e L’Informazione
a.a. 2020-2021
Sede di Cesena

Sara Montagna
email: sara.montagna@unibo.it
Ringraziamenti

❖ Professor Andrea Roli

Copyright © 2016–2019 Andrea Roli https://www.unibo.it/sitoweb/andrea.roli/en


Copyright © 2019 Sara Montagna https://www.unibo.it/sitoweb/sara.montagna/en
Algebra Booleana
❖ Interpretazione logica del valore di un bit
❖ 0 = false / 1 = true

❖ Manipolare i bit significa manipolare i valori vero/falso

❖ Le operazioni che trattano tali valori sono chiamate operazioni


booleane
❖ In onore del matematico George Boole (1815-1864)

❖ L’algebra booleana
❖ Fornisce le regole di manipolazione dei due valori logici
❖ È in stretta relazione con la progettazione di un computer
❖ È utilizzata per la progettazione di circuiti elettronici
Si studia l’algebra booleana perché…

❖ In questo corso: le espressioni booleane vengono


utilizzate nei linguaggi di programmazione per la
definizione dei criteri decisionali
❖ Le funzioni dell’algebra booleana sono isomorfe ai
circuiti digitali. In altre parole, un circuito digitale può
essere espresso tramite un’espressione booleana e
viceversa
Funzioni Booleane
❖ Una funzione booleana ha una o più variabili in input e fornisce risultati che
dipendono solo da queste variabili
❖ f (x1, x2,…,xn) f : 2n —> 2
❖ a ogni valore dell’n-pla x1, x2,…,xn associa un valore dell’insieme {0, 1}

❖ Poiché le variabili possono assumere solo i valori 0 o 1 una funzione booleana con n
variabili di input ha solo 2n combinazioni possibili e può essere descritta da una
tabella, detta tavola di verità, con 2n righe.
x y z v
❖ Ogni riga mostra il valore
0 0 0 0
restituito a partire da una particolare
configurazione dell’input. 0 0 1 0
0 1 0 0
❖ Quale funzione codifica f ???
0 1 1 0
1 0 0 1
1 0 1 1
v = f(x,y,z)
1 1 0 1
1 1 1 1
Espressioni booleane
❖ Espressioni booleane
❖ Una qualsiasi espressione che dà come risultato vero o falso
❖ Sono utilizzate per descrivere funzioni booleane

❖ Nella matematica tradizionale le operazioni utilizzate per


costruire espressioni aritmetica sono:
+, − , × , /, a b
che fanno corrispondere numeri reali a numeri reali
❖ Nella logica booleana le operazioni utilizzate per costruire
espressioni booleane sono:
AND OR NOT
che fanno corrispondere un insieme di valori (vero, falso) ad un
singolo risultato (vero/falso)
Operazioni booleane e porte logiche
❖ I principali operatori agiscono su una variabile (operatori unari), o due
variabili (operatori binari)
❖ Agli operatori si associano dei simboli, normalmente usati nelle
espressioni booleane
❖ Il comportamento degli operatori viene descritto tramite la tavola di
verità
❖ In un computer, ciascuna operazione booleana è realizzata attraverso
un dispositivo chiamato porta logica
❖ Realizzata mediante varie tecnologie, tipicamente piccoli circuiti elettronici in cui le
cifre 0 e 1 sono rappresentate come livelli di tensione

❖ A ciascuna operazione è associata una porta logica con una


rappresentazione simbolica specifica
Prodotto logico o congiunzione - AND
Notazione simbolica x · y, x ^ y
<latexit sha1_base64="28UYolClrK/Sl8GM6b515ZuJRf0=">AAAB/nicbZDNSgMxFIXv1L9a/0bFlZtgEVxImRFBl0U3LivYWmiHksmkbWgmGZKMOAwFX8WNC0Xc+hzufBvTdhbaeiDwce693JsTJpxp43nfTmlpeWV1rbxe2djc2t5xd/daWqaK0CaRXKp2iDXlTNCmYYbTdqIojkNO78PR9aR+/0CVZlLcmSyhQYwHgvUZwcZaPffgEXVJJA3KTpFFjkWEMtRzq17Nmwotgl9AFQo1eu5XN5IkjakwhGOtO76XmCDHyjDC6bjSTTVNMBnhAe1YFDimOsin54/RsXUi1JfKPmHQ1P09keNY6ywObWeMzVDP1ybmf7VOavqXQc5EkhoqyGxRP+XISDTJAkVMUWJ4ZgETxeytiAyxwsTYxCo2BH/+y4vQOqv5Xs2/Pa/Wr4o4ynAIR3ACPlxAHW6gAU0gkMMzvMKb8+S8OO/Ox6y15BQz+/BHzucPJLyUTA==</latexit>

x y x AND y
Tavola di verità 0 0 0
0 1 0
1 0 0
1 1 1

Porta logica
Somma logica o disgiunzione - OR
Notazione simbolica x + y, x _ y
<latexit sha1_base64="Q380OFtOgXKg4loKzZl98S5vjjg=">AAAB+XicbVDLSsNAFL2pr1pfUZduBosgKCURQZdFNy4r2Ae0oUymk3boZBJmJqUh9E/cuFDErX/izr9xmmahrWd1OOdc7r3HjzlT2nG+rdLa+sbmVnm7srO7t39gHx61VJRIQpsk4pHs+FhRzgRtaqY57cSS4tDntO2P7+d+e0KlYpF40mlMvRAPBQsYwdpIfdueoguUXqIp6pkoSlHfrjo1JwdaJW5BqlCg0be/eoOIJCEVmnCsVNd1Yu1lWGpGOJ1VeomiMSZjPKRdQwUOqfKy/PIZOjPKAAVmcxAJjXL190SGQ6XS0DfJEOuRWvbm4n9eN9HBrZcxESeaCrJYFCQc6QjNa0ADJinRPDUEE8nMrYiMsMREm7IqpgR3+eVV0rqquU7Nfbyu1u+KOspwAqdwDi7cQB0eoAFNIDCBZ3iFNyuzXqx362MRLVnFzDH8gfX5A/mbke0=</latexit>

x y x OR y
Tavola di verità 0 0 0
0 1 1
1 0 1
1 1 1

Porta logica
Complemento o negazione - NOT
0
Notazione simbolica x , ¬x, x̄
<latexit sha1_base64="k5xTzyfzhUVZQwunU/ZLyUbW3fw=">AAACAXicbZDLSsNAFIYnXmu8Rd0IbgaL6EJK4kaXRTcuK9gLtKFMppN26GQSZk6kJdSNr+LGhSJufQt3vo2TNgtt/WHg4z/ncOb8QSK4Btf9tpaWV1bX1ksb9ubW9s6us7ff0HGqKKvTWMSqFRDNBJesDhwEayWKkSgQrBkMb/J684EpzWN5D+OE+RHpSx5ySsBYXedwdHqOO0LGgEcGAqKy0QTbtt11ym7FnQovgldAGRWqdZ2vTi+macQkUEG0bntuAn5GFHAq2MTupJolhA5Jn7UNShIx7WfTCyb4xDg9HMbKPAl46v6eyEik9TgKTGdEYKDna7n5X62dQnjlZ1wmKTBJZ4vCVGCIcR4H7nHFKIixAUIVN3/FdEAUoWBCy0Pw5k9ehMZFxXMr3p1brl4XcZTQETpGZ8hDl6iKblEN1RFFj+gZvaI368l6sd6tj1nrklXMHKA/sj5/ACowlL4=</latexit>
sha1_base64="touSq7rRYeDG/3k+swE8y5JOeRM=">AAACAXicbZC7SgNBFIbPeo3rbdVG0GIwiBYSdm20DNpYJmAukCxhdjKbDJmdXWZmJWGJja9iY6GIleBb2Nn5KE4uhSb+MPDxn3M4c/4g4Uxp1/2yFhaXlldWc2v2+sbm1razs1tVcSoJrZCYx7IeYEU5E7Simea0nkiKo4DTWtC7HtVrd1QqFotbPUioH+GOYCEjWBur5ez3T85Qk4tYo76BAMusP0S2bbecvFtwx0Lz4E0hXzx8L38DQKnlfDbbMUkjKjThWKmG5ybaz7DUjHA6tJupogkmPdyhDYMCR1T52fiCITo2ThuFsTRPaDR2f09kOFJqEAWmM8K6q2ZrI/O/WiPV4aWfMZGkmgoyWRSmHOkYjeJAbSYp0XxgABPJzF8R6WKJiTahjULwZk+eh+p5wXMLXtmkcQUT5eAAjuAUPLiAItxACSpA4B4e4RlerAfryXq13iatC9Z0Zg/+yPr4AToqlwM=</latexit>
sha1_base64="fkIQM75qBfmI77ZDxD6U7LJLsTg=">AAACAXicbZDLSgMxFIYz9VbH26gbQZFgEV1ImXGjy6Ibly3YC7RDyaRpG5pJhiQjLUPdiG/ixoUirgq+hTufwZcw03ahrT8EPv5zDifnDyJGlXbdLyuzsLi0vJJdtdfWNza3nO2dihKxxKSMBROyFiBFGOWkrKlmpBZJgsKAkWrQu07r1TsiFRX8Vg8i4oeow2mbYqSN1XT2+idnsMG40LBvIEAy6Q+hbdtNJ+fm3bHgPHhTyBUORqXvx8NRsel8NloCxyHhGjOkVN1zI+0nSGqKGRnajViRCOEe6pC6QY5CovxkfMEQHhunBdtCmsc1HLu/JxIUKjUIA9MZIt1Vs7XU/K9Wj3X70k8oj2JNOJ4sascMagHTOGCLSoI1GxhAWFLzV4i7SCKsTWhpCN7syfNQOc97bt4rmTSuwERZsA+OwCnwwAUogBtQBGWAwT14Ai/g1Xqwnq03633SmrGmM7vgj6yPHxhvmGk=</latexit>

Tavola di verità x NOT x


1 0
0 1

Porta logica
Sintesi di funzioni logiche

❖ L’algebra booleana si basa sui tre operatori di base:


AND, OR, NOT
❖ Tutte le funzioni booleane possono essere espresse come
combinazione di questi tre operatori
❖ Possiamo usare espressioni booleane per descrivere funzioni logiche
❖ Possono essere ottenute combinando i vari operatori e più di due variabili

❖ In generale esistono più funzioni equivalenti che corrispondono ad


una data tavola di verità
Regole di trasformazione (o riscrittura)
delle espressioni booleane: proprietà dell’algebra booleana

❖ Elemento neutro o Identità ❖ Associativa


❖ x∧1=x ❖ (x ∧ y) ∧ z = x ∧ (y ∧ z)
❖ x∨0=x
❖ (x ∨ y) ∨ z = x ∨ (y ∨ z)
❖ Elemento nullo
❖ x∧0=0 ❖ Distributiva
❖ x∨1=1 ❖ x ∧ (y ∨ z) = (x ∧ y) ∨ (x ∧ z)
❖ Idempotenza ❖ x ∨ (y ∧ z) = (x ∨ y) ∧ (x ∨ z)
❖ x∧x=x
❖ x∨x=x
❖ Assorbimento
❖ Complementazione ❖ x ∧ (x ∨ y) = x
❖ x ∧ ¬x = 0 ❖ x ∨ (x ∧ y) = x
❖ x ∨ ¬x = 1
❖ De Morgan
❖ Commutativa
❖ x∧y=y∧x ❖ ¬(x ∧ y)= (¬x) ∨ (¬y)
❖ x∨x=y∨x ❖ ¬(x ∨ y)=(¬x) ∧ (¬y)

Potrebbero piacerti anche