DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algebra di Boole ed elementi di logica Marco D. Santambrogio – Ver. aggiornata.

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

Algebra Booleana Generalità
Algebra di Boole Casazza Andrea 3EA I.I.S. Maserati.
Elaborazione dei segnali mediante circuiti analogici o digitali.
Informatica Generale Marzia Buscemi IMT Lucca
Process synchronization
(sommario delle lezioni in fondo alla pagina)
Algebra di Boole.
Il ragionamento classico
Intelligenza Artificiale 1 Gestione della conoscenza lezione 8
Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a
Algebra di Boole ed elementi di logica
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 20 Marzo 2013.
Algebra di Boole ed elementi di logica
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
Algebra di Boole ed elementi di logica
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 1 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
ARCHITETTURA DEI SISTEMI ELETTRONICI
Corso di Informatica (Programmazione)
IFTS2002 Acq. Dati Remoti: INFORMATICA
Fondamenti di Informatica I a.a Il linguaggio C Il controllo di flusso La selezione condizionale Listruzione switch I cicli Le istruzioni break,
Programmazione Corso di laurea in Informatica
Semantica per formule di un linguaggio proposizionale p.9 della dispensa.
L'algebra di Boole e le sue applicazioni
Algebra di Boole e sue applicazioni
Indice: L’algebra di Boole Applicazione dell’algebra di Boole
Algebra di Boole L’algebra di Boole è un formalismo che opera su variabili (dette variabili booleane o variabili logiche o asserzioni) che possono assumere.
Intelligenza Artificiale
Introduzione ~ 1850 Boole - De Morgan – Schroeder ALGEBRA BOOLEANA
Algebra di Boole … logica matematica Progetto Eracle 2
INFORMATICA MATTEO CRISTANI. INDICE CICLO DELLE LEZIONI LEZ. 1 INTRODUZIONE AL CORSO LEZ. 2 I CALCOLATORI ELETTRONICI LEZ. 3 ELEMENTI DI TEORIA DELL INFORMAZIONE.
Pierdaniele Giaretta Primi elementi di logica
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 20 Ottobre 2014.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algebra di Boole ed elementi di logica Marco D. Santambrogio – Ver. aggiornata.
Algebra di Boole.
Calcolo letterale.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 26 Marzo 2014.
La logica Dare un significato preciso alle affermazioni matematiche
Università degli studi di Parma Dipartimento di Ingegneria dell’Informazione Politecnico di Milano © 2001/02 - William Fornaciari Reti Logiche A Lezione.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 27 Marzo 2015.
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA Lab 2: 20 Aprile 2015 Marco D. Santambrogio – Gianluca Durelli –
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e “stringhe” Marco D. Santambrogio – Ver. aggiornata al 8 Aprile 2015.
Algoritmi e basi del C Struttura di un programma
Algebra di Boole.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e “stringhe” Marco D. Santambrogio – Ver. aggiornata al 26 Marzo 2014.
Fondamenti di Informatica1 Memorizzazione su calcolatore L'unità atomica è il bit (BInary DigiT) L'insieme di 8 bit è detta byte Altre forme di memorizzazione:
Rappresentazione dell'informazione
Algebra di Boole L’algebra di Boole è un formalismo che opera su variabili (dette variabili booleane o variabili logiche o asserzioni) che possono assumere.
A.S.E.7.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 7 ALGEBRA BOOLEANA PostulatiPostulati Principio di dualitàPrincipio di dualità Teoremi fondamentaliTeoremi.
Rappresentazione in virgola mobile (floating-point) Permette di rappresentare numeri con ordini di grandezza molto differenti utilizzando per la rappresentazione.
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Rappresentazione dell'informazione 1 Se ho una rappresentazione in virgola fissa (es. su segno e 8 cifre con 3 cifre alla destra della virgola) rappresento.
Algebra di Boole.
Copyright © Istituto Italiano Edizioni Atlas
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e “stringhe” Marco D. Santambrogio – Ver. aggiornata al 14 Marzo 204.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e “stringhe” Marco D. Santambrogio – Ver. aggiornata al 28 Ottobre 2014.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algebra di Boole ed elementi di logica Marco D. Santambrogio – Ver. aggiornata.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
ELEMENTI DI LOGICA del Prof. Giovanni Ianne
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array n-dimensionali e tipi di dati strutturati Marco D. Santambrogio – Ver. aggiornata.
Logica di base e Conversione analogico-digitale Lezione 3 / Prima parte Gaetano Arena e.mail: 1.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Esercitazione pre 1ma prova in itinere Marco D. Santambrogio – Ver. aggiornata.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algebra di Boole, elementi di logica e Mappe di Karnaugh Marco D. Santambrogio –
TEORIA ELEMENTARE DEGLI INSIEMI
Le proposizioni DEFINIZIONE. La logica è un ramo della matematica che studia le regole per effettuare ragionamenti rigorosi e corretti. DEFINIZIONE. Una.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 22 Marzo 2016.
Algebra di Boole ed elementi di logica
Algebra di Boole ed elementi di logica
Transcript della presentazione:

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algebra di Boole ed elementi di logica Marco D. Santambrogio – Ver. aggiornata al 16 Ottobre 2015

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Provate voi… 2

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Provate voi… 3

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Provate voi… Come faccio il #? 4

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Provate voi… Come faccio il #?  ALT + à 5

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Provate voi… Come faccio il #?  ALT + à Come faccio le graffe? 6

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Provate voi… Come faccio il #?  ALT + à Come faccio le graffe?  (shift)+(alt gr)+(è) per la {  (shift)+(alt gr)+(+) per la } 7

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Provate voi… Come faccio il #?  ALT + à Come faccio le graffe?  (shift)+(alt gr)+(è) per la {  (shift)+(alt gr)+(+) per la } Come installo i tool e li uso? 8

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Provate voi… Come faccio il #?  ALT + à Come faccio le graffe?  (shift)+(alt gr)+(è) per la {  (shift)+(alt gr)+(+) per la } Come installo i tool e li uso? 9

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Il mio sito su BeeP 10

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Il mio sito su BeeP 11

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Il mio sito su BeeP 12

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE A grande richiesta… Come si stampano \n e %c 13

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE A grande richiesta… Come si stampano \n e %c 14

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 15

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEObiettivi Algebra di Boole  Algebra di boole a due valori: algebra di commutazione  Operazioni logiche  Espressioni logiche  Assiomi e proprietà dell’algebra di commutazione 16

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 17 L’algebra di Boole (inventata da G. Boole, britannico, seconda metà ’800), o algebra della logica, si basa su operazioni logiche Le operazioni logiche sono applicabili a operandi logici, cioè a operandi in grado di assumere solo i valori vero e falso Si può rappresentare vero con il bit 1 e falso con il bit 0 (convenzione di logica positiva) Cenni all’algebra di Boole

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algebra Booleana: definizione Algebra Booleana B è un sistema algebrico identificato dalla sestupla (B,+,*,’,0,1) dove:  B è l'insieme su cui vengono definite le operazioni (supporto)  +, *,’ sono le operazioni binarie OR e AND e l’operazione unaria NOT  0, 1 sono elementi speciali di B. 0 è l’elemento neutro rispetto a + 1 è l’elemento neutro rispetto a *  Assiomi

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algebra Booleana a due valori: Algebra di Commutazione “Tra tutte le algebre booleane, l'algebra booleana a due valori è la più utile. Essa è la base matematica della analisi e progetto di circuiti di commutazione che realizzano i sistemi digitali.” [Lee, S.C., Digital Circuit And Logic Design. Englewood Cliffs, NJ: Prentice-Hall, 1976]

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 20 Operatori logici binari (con 2 operandi logici)  Operatore OR, o somma logica  Operatore AND, o prodotto logico Operatore logico unario (con 1 operando)  Operatore NOT, o negazione, o inversione Poiché gli operandi logici ammettono due soli valori, si può definire compiutamente ogni operatore logico tramite una tabella di associazione operandi-risultato Operazioni logiche fondamentali

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Le variabili dell’algebra booleana a due valori possono assumere solo i due valori 0 e 1  precisamente, se x indica una variabile, è x = 0 se e solo se x  1 x = 1 se e solo se x  0 Algebra Booleana a due valori: ({0,1},+,*,’,0,1) dove + (OR) e * (AND) sono definiti come Mentre l’operazione a un solo elemento (unary operation) detta complementazione o negazione ( NOT ) è definita come  Nota: il simbolo associato al NOT è spesso indicato come ’ (esempio x’ ), ! (esempio !x ) o sopra segnando la variabile * Operazioni logiche fondamentali ‘

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 22 Operatori logici di base e loro tabelle di verità A B A and B (prodotto logico) A B A or B (somma logica) A not A (negazione) Le tabelle elencano tutte le possibili combinazioni in ingresso e il risultato associato a ciascuna combinazione

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 23 Come le espressioni algebriche, costruite con:  Variabili logiche (letterali): p. es. A, B, C  0 oppure 1  Operatori logici: and, or, not Esempi: A or (B and C) (A and (not B)) or (B and C) Precedenza: l’operatore “not” precede l’operatore “and”, che a sua volta precede l’operatore “or” A and not B or B and C  (A and (not B)) or (B and C) Per ricordarlo, si pensi OR come “  ” (più), AND come “  ” (per) e NOT come “  ” (cambia segno) Espressioni logiche (o Booleane)

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE A and B or not C A B C X = A and B Y = not C X or Y and 0 = 0 not 0 = 1 0 or 1 = and 0 = 0 not 1 = 0 0 or 0 = and 1 = 0 not 0 = 1 0 or 1 = and 1 = 0 not 1 = 0 0 or 0 = and 0 = 0 not 0 = 1 0 or 1 = and 0 = 0 not 1 = 0 0 or 0 = and 1 = 1 not 0 = 1 1 or 1 = and 1 = 1 not 1 = 0 1 or 0 = 1 Tabella di verità di un’espressione logica

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 25 A B NOT ((A OR B) AND (NOT A)) A B C ( B OR NOT C) AND (A OR NOT C) Due esercizi

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Vero e falso in C In C non esiste un tipo di dato specifico per rappresentare i concetti vero e falso Una condizione assume un valore intero pari a  0 se la condizione è falsa  1 se la condizione è vera In generale, ogni valore diverso da zero è considerato vero  ( 3 ) VERO  ( 1 ) VERO  ( a – a ) FALSO 26

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEProblema Si scriva un programma in C che, dato un numero, dica se questo è positivo o negativo 27

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONESoluzione 1. Si inserisca N 2. N è maggiore di 0?  Vero: N è positivo  Falso: N non è positivo 28

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 29 In C: positivo int main() { int n; printf (“Inserisci un numero\n"); scanf ("%d", &n ); if ( n > 0 ) printf ("Un numero positivo ! \n"); else printf ("Un numero negativo o nullo\n"); printf ("Fine del programma\n"); return 0; } condizione

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Problema: caratteri MaIuScOli Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo 30

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Maiuscolo: esecuzione 31

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE HELP: errori sull’input 32

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Problema: errori sull’input Problema  Preso un dato inserito da tastiera  Per potervi applicare la trasformazione di nostro interesse  Dobbiamo prima verificare che il dato sia coerente con quanto ci aspettiamo Soluzione  Definire l’insieme dei caratteri validi  Verificare l’appartenenza del carattere inserito, all’insieme dei caratterei validi 33

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEPseudocodice Dati  L’insieme dei caratteri ammissibili {a, b, c, …, z} 1. Richiedere l’inserimento di un carattere 2. Se carattere inserito corretto 3. Allora stampa a video carattere Altrimenti stampa a video un messaggio di errore 34

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Condizione da verificare Dati  L’insieme dei caratteri ammissibili {a, b, c, …, z} Il carattere inserito deve essere  =>a  <= z 35

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Maiuscolo: solo if 36

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Condizione da verificare Il carattere inserito deve essere  X: =>a  Y: <= z Come vogliamo che si comporti il nostro modello rispetto a X e Y? 37

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Pausa… 38

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Condizione da verificare Il carattere inserito deve essere  X: =>a  Y: <= z Come vogliamo che si comporti il nostro modello rispetto a X e Y? 39

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Condizione da verificare Il carattere inserito deve essere  X: =>a  Y: <= z Come vogliamo che si comporti il nostro modello rispetto a X e Y?  Se X = 0? 40

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Condizione da verificare Il carattere inserito deve essere  X: =>a  Y: <= z Come vogliamo che si comporti il nostro modello rispetto a X e Y?  Se X = 0? Vogliamo una uscita FALSA 41

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Condizione da verificare Il carattere inserito deve essere  X: =>a  Y: <= z Come vogliamo che si comporti il nostro modello rispetto a X e Y?  Se X = 0? Vogliamo una uscita FALSA  Se Y = 0? 42

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Condizione da verificare Il carattere inserito deve essere  X: =>a  Y: <= z Come vogliamo che si comporti il nostro modello rispetto a X e Y?  Se X = 0? Vogliamo una uscita FALSA  Se Y = 0? Vogliamo una uscita FALSA 43

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Condizione da verificare Il carattere inserito deve essere  X: =>a  Y: <= z Come vogliamo che si comporti il nostro modello rispetto a X e Y?  Se X = 0? Vogliamo una uscita FALSA  Se Y = 0? Vogliamo una uscita FALSA  Se X = 1 e Y = 1? Uscita VERA! 44

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Condizione da verificare Il carattere inserito deve essere  X: =>a  Y: <= z Come vogliamo che si comporti il nostro modello rispetto a X e Y? 45 X Y USCITA

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Condizione da verificare Il carattere inserito deve essere  X: =>a  Y: <= z Come vogliamo che si comporti il nostro modello rispetto a X e Y? 46 X Y USCITA Vi ricorda qualche cosa?

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Condizione da verificare Il carattere inserito deve essere  X: =>a  Y: <= z Come vogliamo che si comporti il nostro modello rispetto a X e Y? 47 X Y USCITA Vi ricorda qualche cosa? AND!!!

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Condizione da verificare Il carattere inserito deve essere  X: =>a  Y: <= z Come vogliamo che si comporti il nostro modello rispetto a X e Y? 48 Vi ricorda qualche cosa? AND!!! X Y X AND Y (prodotto logico)

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Maiuscolo: AND 49

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Maiuscolo: codice ottimizzato 50

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Maiuscolo: esecuzione 51

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 52 A modellare alcune (non tutte) forme di ragionamento  A  è vero che 1 è maggiore di 2 ? (sì o no, qui è no)  0  B  è vero che 2 più 2 fa 4 ? (sì o no, qui è sì)  1  A and B  è vero che 1 sia maggiore di 2 e che 2 più 2 faccia 4 ? Si ha che A and B  0 and 1  0, dunque no  A or B  è vero che 1 sia maggiore di 2 o che 2 più 2 faccia 4 ? Si ha che A or B  0 and 1  1, dunque sì OR, AND e NOT vengono anche chiamati connettivi logici, perché funzionano come le congiunzioni coordinanti “o” ed “e”, e come la negazione “non”, del linguaggio naturale Si modellano ragionamenti (o deduzioni) basati solo sull’uso di “o”, “e” e “non” (non è molto, ma è utile) A che cosa servono le espressioni logiche?

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 53 Le espressioni logiche (booleane) non modellano:  Domande esistenziali: “c’è almeno un numero reale x tale che il suo quadrato valga  1 ?”  x | x 2   1è falso (si sa bene che non c’è)  Domande universali: “ogni numero naturale è la somma di quattro quadrati di numeri naturali ?”  x | x  a 2  b 2  c 2  d 2` è vero (“teorema dei 4 quadrati”) Più esattamente andrebbe scritto:  x  a,b,c,d | x  a2  b2  c2  d2  e  sono chiamati “operatori di quantificazione”, e sono ben diversi da or, and e not La parte della logica che tratta solo degli operatori or, and e not si chiama calcolo proposizionale Aggiungendo gli operatori di quantificazione, si ha il calcolo dei predicati (che è molto più complesso) Che cosa non si può modellare tramite espressioni logiche?

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 54 Tautologia  Una espressione logica che è sempre vera, per qualunque combinazione di valori delle variabili Esempio: principio del “terzo escluso”: A or not A (tertium non datur, non si dà un terzo caso tra l’evento A e la sua negazione) Contraddizione  Una espressione logica che è sempre falsa, per qualunque combinazione di valori delle variabili Esempio: principio di “non contraddizione”: A and not A (l’evento A e la sua negazione non possono essere entrambi veri) Tautologie e Contraddizioni

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 55 Due espressioni logiche si dicono equivalenti (e si indica con  ) se hanno la medesima tabella di verità. La verifica è algoritmica. Per esempio: A B not A and not B  not (A or B) and 1 = 1 not 0 = and 0 = 0 not 1 = and 1 = 0 not 1 = and 0 = 0 not 1 = 0 Espressioni logiche equivalenti modellano gli stessi stati di verità a fronte delle medesime variabili Equivalenza tra espressioni

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 56 Proprietà dell’algebra di Boole L’algebra di Boole gode di svariate proprietà, formulabili sotto specie di identità  cioè formulabili come equivalenze tra espressioni logiche, valide per qualunque combinazione di valori delle variabili

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algebra Booleana a due valori: Assiomi Gli operatori descritti godono delle proprietà definite dai seguenti assiomi (postulati di Huntington):  Le operazioni di disgiunzione (+) e congiunzione (·) sono commutative, cioè per ogni elemento a,b  B a+b = b+a a·b = b·a  Esiste un elemento neutro (o identità) rispetto a + (indicato con 0) e un elemento neutro rispetto a · (indicato con 1), cioè: a+0=a a·1=a  Le due operazioni sono distributive rispetto all’altra, cioè per ogni a,b,c  B, risulta: a+(b·c)=(a+b)·(a+c) a·(b+c)=(a·b)+(a·c)  Per ogni a  B esiste l’elemento a ’  B, detto negazione logica o complemento di a, tale che: a+a ’ =1 a·a ’ =0 Vale per la somma rispetto al prodotto come per il prodotto rispetto alla somma – non esiste precedenza fra le due operazioni, occorre sempre immaginare le parentesi “sottintese” intorno a ogni applicazione di un’operazione.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algebra di Commutazione: Proprietà 1 1: associativa a+(b+c)=(a+b)+c a*(b*c)=(a*b)*c 2: idempotenza a+a=a a*a=a 3: elemento nullo a+1=1 a*0=0 4: unicità elemento inverso: il complemento di a, a’, è unico 5: assorbimento a+(a*b)=a a*(a+b)=a

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE : Semplificazione a+a’b = a+b a*(a’+b) = a*b 7: involuzione ((a)’)’ = a 8: Leggi di De Morgan (a+b)’ = a’*b’ (a*b)’ = a’+b’ 9: consenso a*b+a’*c+b*c = a*b + a’*c (a+b)*(a’+c)*(b+c)=(a+b)*(a’+c) Algebra di Commutazione: Proprietà 2

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 60 Trasformare un’espressione logica in un’altra, differente per aspetto ma equivalente: not A and B or A  (assorbimento)  not A and B or (A or A and B)  (togli le parentesi)  not A and B or A or A and B  (commutativa)  not A and B or A and B or A  (distributiva)  (not A or A) and B or A  (legge dell’elemento 1)  true and B or A  (vero and B  B)  B or Aè più semplice dell’espressione originale Si può verificare l’equivalenza con le tabelle di verità Occorre conoscere un’ampia lista di proprietà e si deve riuscire a “vederle” nell’espressione (talvolta è difficile) Uso delle proprietà

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Problemi di fine giornata… Si scriva un programma in C che richiede l’inserimento di un numero intero positivo, se l’inserimento e’ errato ritorna un messaggio di errore Si scriva un programma in C che, dati due caratteri, li ordina in ordine alfabetico “inverso” 61

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Fonti per lo studio + Credits Fonti per lo studio  Introduzione ai sistemi informatici, D. Sciuto, G. Buonanno, L. Mari, 4a Ed, McGrawHill Capitolo 2 Credits  Daniele Braga  Cristiana Bolchini htm