Informatica e Bioinformatica: AND, OR, NOT

Похожие документы
I.3 Porte Logiche. Elisabetta Ronchieri. Ottobre 13, Università di Ferrara Dipartimento di Economia e Management. Insegnamento di Informatica

Lezione2: Circuiti Logici

Le variabili logiche possono essere combinate per mezzo di operatori detti connettivi logici. I principali sono:

George BOOLE ( ) L algebra booleana. (logica proposizionale)

Algebra di Boole. Andrea Passerini Informatica. Algebra di Boole

I circuiti elementari

Prof. Pagani Corrado ALGEBRA BOOLEANA

Introduzione alla logica proposizionale

Prof. Emanuele Papotto 14/10/2010

Calcolo numerico e programmazione Elementi di logica

Algebra di Boole X Y Z V. Algebra di Boole

Reti logiche: analisi, sintesi e minimizzazione Esercitazione. Venerdì 9 ottobre 2015

Costruzione di. circuiti combinatori

Elementi di informatica

Logica: nozioni di base

Lezione 5. Sommario. La logica booleana. I principi della logica booleana Gli operatori logici

Funzioni booleane. Vitoantonio Bevilacqua.

Algebra Booleana, Funzioni Logiche e Circuiti Logici

Sviluppo di programmi

FUNZIONI BOOLEANE. Vero Falso

Università degli Studi di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica ALGEBRA BOOLEANA

Fasi di creazione di un programma

Algebra di Boole Algebra di Boole

Operatori di relazione

Algebra di Boole ed elementi di logica

Fondamenti di Informatica

Logica proposizionale

Fondamenti dell Informatica Algebra di Boole. Prof.ssa Enrica Gentile

Proposizioni Algebra di Boole Condizioni Operatori di relazione

I.2 Logica. Elisabetta Ronchieri. Ottobre 13, Università di Ferrara Dipartimento di Economia e Management. Insegnamento di Informatica

Algebra di Boole. Tavole di verità. Fondamenti di Informatica Algebra di Boole. Si basa su tre operazioni logiche: AND (*) OR (+) NOT (!

Algebra di Boole. Modulo 2. Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB)

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Informatica. Logica e Algebra di Boole

METODI MATEMATICI PER L INFORMATICA

4. Logica. Insegnamento di Informatica. Elisabetta Ronchieri. I semestre, anno Corso di Laurea di Economia, Universitá di Ferrara

MATEMATICA DI BASE 1

Circuiti digitali. Operazioni Logiche: Algebra di Boole. Esempio di circuito. Porte Logiche. Fondamenti di Informatica A Ingegneria Gestionale

CALCOLO PROPOSIZIONALE. Corso di Logica per la Programmazione Andrea Corradini

CALCOLO PROPOSIZIONALE

Reti Logiche Combinatorie

Esercitazioni su circuiti combinatori

Транскрипт:

31 marzo 2014

Algebra di Boole L algebra di Boole opera su due valori di verità, VERO e FALSO, mutuamente esclusivi. Nell algebra di Boole è possibile definire funzioni (che chiameremo operazioni logiche) che prendono come input valori di verità (VERO, FALSO) e calcolano come risultato un valore di verità (VERO, FALSO) Esempio: la tabella di verità (così viene chiamata) sotto rappresenta la proposizione: metto il cappotto solo se piove e fa freddo. Input Input Output Piove Fa Freddo Metto Cappotto FALSO FALSO FALSO FALSO VERO FALSO VERO FALSO FALSO VERO VERO VERO

Operatori Booleani Prenderemo in considerazione 3 tipi di operazioni logiche: AND, OR, NOT. NOT prende 1 argomento in input, ad esempio A. NOT(A) è vera solamente se A=FALSO Input A VERO FALSO NOT(A) FALSO VERO

Operatori Booleani Prenderemo in considerazione 3 tipi di operazioni logiche: AND, OR, NOT. NOT prende 1 argomento in input, ad esempio A. NOT(A) è vera solamente se A=FALSO AND prende 2 argomenti in input, ad esempio A,B. A AND B è vera solamente se A=VERO e B=VERO Input A Input B A AND B FALSO FALSO FALSO FALSO VERO FALSO VERO FALSO FALSO VERO VERO VERO

Operatori Booleani Prenderemo in considerazione 3 tipi di operazioni logiche: AND, OR, NOT. NOT prende 1 argomento in input, ad esempio A. NOT(A) è vera solamente se A=FALSO AND prende 2 argomenti in input, ad esempio A,B. A AND B è vera solamente se A=VERO e B=VERO OR prende 2 argomenti in input, ad esempio A,B. A OR B è falsa solamente se A=FALSO e B=FALSO Input A Input B A OR B FALSO FALSO FALSO FALSO VERO VERO VERO FALSO VERO VERO VERO VERO

Operatori Booleani Prenderemo in considerazione 3 tipi di operazioni logiche: AND, OR, NOT. NOT prende 1 argomento in input, ad esempio A. NOT(A) è vera solamente se A=FALSO AND prende 2 argomenti in input, ad esempio A,B. A AND B è vera solamente se A=VERO e B=VERO OR prende 2 argomenti in input, ad esempio A,B. A OR B è falsa solamente se A=FALSO e B=FALSO Input A Input B A OR B FALSO FALSO FALSO FALSO VERO VERO VERO FALSO VERO VERO VERO VERO Se associamo FALSO=0, VERO=1, possiamo applicare i risultati dell algebra di Boole e costruire funzioni che operino su bit

Tabella di verità Quante tabelle di verità/funzioni con due input possono essere create? Cambiando un valore nella casella di output si definisce una nuova funzione Il numero di righe, e le prime due colonne, sono determinate da tutte possibili configurazioni dei valori di input A B R1 R2 R3 R4 R5 R6... R16 0 0 0 1 0 0 0 1... 1 0 1 0 0 1 0 0 1... 1 1 0 0 0 0 1 0 0... 1 1 1 0 0 0 0 1 0... 1 Quante sono le possibili configurazioni della colonna di output R? 2 4 = 16 (2 rappresenta il numero di valori che un bit può assumere, 4 il numero di righe)

Esempi di funzioni logiche: Implicazione L operazione di implicazione logica si denota con il simbolo Corrisponde a proposizioni del tipo se A allora B (se piove allora prendo l ombrello) A B A B 0 0 1 0 1 1 1 0 0 1 1 1 A B equivale a NOT(A) OR B (per mostrarlo basta verificare che le due tabelle di verità siano identiche): A B NOT(A) NOT(A) OR B 0 0 1 1 0 1 1 1 1 0 0 0 1 1 0 1

Esempi di funzioni logiche: Equivalenza L operazione di equivalenza logica si denota con il simbolo Corrisponde a proposizioni del tipo A se e solo se B (solo se piove prendo l ombrello) A B A B 0 0 1 0 1 0 1 0 0 1 1 1 A B equivale a (A B) AND (B A) A B A B B A (A B) AND (B A) 0 0 1 1 1 0 1 1 0 0 1 0 0 1 0 1 1 1 1 1

Esercizio Scrivere un frammento di codice in Python dove si realizzano le tabelle di verità di AND, OR, e NOT come dizionari: la chiave è costituita dalla stringa di 2 bit in ingresso, il valore associato è dato dal risultato dell operatore logico implementato.