Logica booleana, Costrutto IF

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Logica booleana, Costrutto IF"

Transcript

1 Logica booleana, Costrutto IF 207/208 - Lezione 4 Massimo Lauria <massimo.lauria@uniroma.it> Mercoledì, 4 Ottobre 207

2 La logica booleana 2

3 George Boole (85 864) Fondatore della logica matematica studio formale dei ragionamenti usati in matematica uso di manipolazioni algebriche per concetti logici 3

4 Variabile booleana Python ha due valori, True e False, di tipo booleano. type(true) type(false) bocciato = False type(bocciato) str(false) str(true) false <class 'bool'> <class 'bool'> <class 'bool'> 'False' 'True' Traceback (most recent call last): File "<stdin>", line, in <module> NameError: name 'false' is not defined 4

5 Operatori relazionali I valori booleani possono essere usati per rappresentare il risultato di relazioni logiche >= 2 False == (2 - ) True 'ia' in 'ciao' True 5

6 Uguaglianza e assegnamenti L operatore booleano == determina se i due operandi sono uguali. Il simbolo = indica un assegnamento di variable variabile = "valore assegnato" # no output variabile == "altra stringa" # output interattivo print(variabile) # output 2 3 False valore assegnato 6

7 Operatori booleani Descriviamo i tre più importanti. Matematica Python negazione x not x congiunzione x ^ y x and y disgiunzione x _ y x or y 7

8 Negazione logica x Assume il valore opposto della variable x x False True not x True False porta_chiusa = False porta_aperta = not porta_chiusa print(porta_aperta) 2 3 True Domanda: a cosa è uguale not not x? 8

9 Congiunzione logica x ^ y La congiunzione è vera quando x e y sono entrambi veri. x y x and y False False False True False False False True False True True True Domanda: qual è il valore di a and a2 and a2 and a4 and a5 9

10 Esempio di congiunzione logica vento = True neve = True tormenta = vento and neve print(tormenta) True 0

11 Disgiunzione logica x _ y La disgiunzione è vera quando almenouno tra x e y è vero. x y x or y False False False True False True False True True True True True Domanda: qual è il valore di a or a2 or a2 or a4 or a5

12 Esempio di disgiunzione logica nuvoloso = True pioggia = False brutto_tempo = pioggia or nuvoloso print(brutto_tempo) True 2

13 Differenze con il linguaggio naturale Nel linguaggio naturale si usa or in modo diverso vado al mare o in montagna intendendo alternative esclusive. Invece l or logico funziona in maniera differente, ne senso che il risultato è vero anche se entrambe le opzioni sono vere. 3

14 Or esclusivo x ^ y L or esclusivo (XOR) è vero quando esattamenteuno tra x e y è vero. x y x ^ y False False False True False True False True True Domanda: qual è il valore di True True False a ^ a2 ^ a2 ^ a4 ^ a5 4

15 Associatività e Commutatività Un operatore tra due operandi, chiamiamolo, si dice associativo, quando pa bq c a pb cq commutativo, quando a b b a Esercizio: dimostrare che se un operatore è associativo e commutativo, allora comunque vengano messe le parentesi o ordinati gli operandi nella sequente espressione a a 2 a 3 a n a n il valore dell espressione non cambia. 5

16 Il not precede and che precede or def exclusive_or(x,y): return (not x and y or x and not y) print(exclusive_or(false,false)) print(exclusive_or(true,false)) print(exclusive_or(false,true)) print(exclusive_or(true,true)) False True True False 6

17 Esercizi Esercizio: Verificare che addizione e moltiplicazione sono commutativi e associativi. Esercizio: Dimostrare che ^, _ e XOR sono associativi e commutativi. 7

18 Tabelle di verità Formulabooleana: formula di variabili booleane e operatori booleani. px _ yq _ p x ^ yq x y (x or (not y)) or ( (not x) and y) False False True True False True False True True True True True 8

19 Distributività x ^ py _ zq è uguale a px ^ yq _ px ^ zq ed anche x _ py ^ zq è uguale a px _ yq ^ px _ zq Esercizio: verificare usando le tabelle di verità scrivere le tabelle delle quattro formule ogni formula ha tre variabli: la tabella ha 8 righe 9

20 Regole di de Morgan px _ yq è uguale a x ^ y ed anche px ^ yq è uguale a x _ y Esercizio: verificare usando le tabelle di verità scrivere le tabelle delle quattro formule ogni formula ha due variabli: la tabella ha 4 righe 20

21 Terminologia Una formula booleana è detta Soddisfacibile: vera per almeno un assegnamento Contraddizione/Insoddisfacibile: sempre falsa Tautologia: sempre vera Falsificabile: falsa per almeno un assegnamento Ad esempio la formula vista prima è una tautologia px _ x 2 q _ p x ^ x 2 q 2

22 Problema SAT data in input una formula F fatta da variabili booleane (i.e. True / False) operatori logici and, or, not trovare un algoritmo veloce che determini se F è soddisfacibile Premio: di Dollari (Clay Institute) 22

23 Prendere decisioni 23

24 Scegliere le istruzioni da eseguire É possibile eseguire delle istruzioni solo se una condizione si verifica pioggia = False nuvoloso = True if pioggia or nuvoloso: print(". Prenderò l'ombrello") print(". Prenderò le scarpe chiuse") nuvoloso = False if pioggia or nuvoloso: print("2. Prenderò l'ombrello") print("2. Prenderò le scarpe chiuse") Prenderò l'ombrello. Prenderò le scarpe chiuse 24

25 Sintassi del costrutto if if condizione: istruzione istruzione2 istruzione condizione espressione dal valore booleano istruzione indentata rispetto alla riga precedente le altre istruzioni allineate con istruzione 25

26 Due alternative Se condizione vera esegue il primo blocco, altrimenti il secondo. pioggia = False nuvoloso = False if pioggia or nuvoloso: print("prenderò l'ombrello") else: print("prenderò i sandali") Prenderò i sandali 26

27 Sintassi del costrutto if else if condizione: blocco else: blocco oppure (anche se fa un po schifo) if condizione: blocco else: blocco L indentazione dei due blocchi non deve essere uguale 27

28 Aumentiamo il numero di opzioni con elif elif è un abbreviazione di else if def commenti_voto(voto): print("il voto e'", voto) if voto < 8: print("mi dispiace") elif voto == 8: print("appena sufficiente") elif voto < 24: print("ok, ma potevi fare meglio") elif voto == 30: print("congratulazioni!") else: print("bene!")

29 Aumentiamo il numero di opzioni con elif (II) commenti_voto(5) commenti_voto(8) commenti_voto(23) commenti_voto(27) commenti_voto(30) Il voto e' 5 mi dispiace Il voto e' 8 appena sufficiente Il voto e' 23 OK, ma potevi fare meglio Il voto e' 27 bene! Il voto e' 30 congratulazioni! 29

30 elif aiuta la leggibilità del codice Questa è una versione del codice precedente scritta senza elif def commenti_voto(voto): print("il voto e'", voto) if voto < 8: print("mi dispiace") else: if voto == 8: print("appena sufficiente") else: if voto < 24: print("ok, ma potevi fare meglio") else: if voto == 30: print("congratulazioni!") else: print("bene!")

31 Operatori booleani per le condizioni di if Paragrafo 5.2: una serie di operatori tra numeri, stringhe, ecc producono un valore booleano Esempio: == (uguale)!= (diverso) <, >, <=, >= (comparazioni) in e not in (sotto stringhe) Concatenazione di operatori print(0 < 9 <= 0!= 'ciao' in 'ciao a tutti') True 3

32 Appendix : Thonny 32

33 Letture Lezione di oggi: Capitoli

Esecuzione condizionale ed espressioni logiche

Esecuzione condizionale ed espressioni logiche Esecuzione condizionale ed espressioni logiche Informatica@SEFA 08/09 - Lezione 6 Massimo Lauria http://massimolauria.net/courses/infosefa08/ Venerdì, 5 Ottobre 08 Ripartiamo

Dettagli

Introduzione alla logica matematica

Introduzione alla logica matematica Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 p.1/29 Introduzione alla logica matematica Silvana Badaloni Paolo Bison Fondamenti di Informatica 1 A.A. 2004/05 Università di

Dettagli

Introduzione alla logica matematica. Logica matematica. Paolo Bison

Introduzione alla logica matematica. Logica matematica. Paolo Bison Introduzione alla logica matematica Paolo Bison Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09 Logica matematica formalizzazione dei meccanismi di ragionamento la logica

Dettagli

laboratorio di python

laboratorio di python laboratorio di python definizioni di booleani, selezione ed uso degli input 13 Marzo 2019 1/32 Correzione esercizi per oggi esercizio 1 per casa Scrivere una funzione che non ha nessun parametro, non restituisce

Dettagli

Matematica con Python

Matematica con Python Matematica con Python e-mail: maurosaita@tiscalinet.it Versione provvisoria. Dicembre 2016. 1 Lezione n. 1 Calcolatrice Olivetti. Esegue le quattro operazioni elementari. Indice 1 Numeri e stringhe 2 1.1

Dettagli

Dispensa su. Funzioni Booleane. Jianyi Lin Università degli Studi di Milano

Dispensa su. Funzioni Booleane. Jianyi Lin Università degli Studi di Milano Dispensa su Funzioni Booleane Jianyi Lin Università degli Studi di Milano jianyi.lin@unimi.it 18 novembre 2011 1 Operazioni booleane In questa sezione introduciamo il concetto di funzione booleana e accenniamo

Dettagli

Logica booleana. Bogdan Maris ( )

Logica booleana. Bogdan Maris ( ) Logica booleana 1 Algebra di Boole Opera con i soli valori di verità 0 o 1 (variabili booleane o logiche) La struttura algebrica studiata dall'algebra booleana è finalizzata all'elaborazione di espressioni

Dettagli

si vuole verificare: P5: pioverà

si vuole verificare: P5: pioverà Logica matematica ntroduzione alla logica matematica ilvana adaloni Paolo ison Fondamenti di nformatica AA 20004 niversità di Padova formalizzazione dei meccanismi di ragionamento la logica studia proposizioni

Dettagli

Prerequisiti Matematici

Prerequisiti Matematici Prerequisiti Matematici Richiami di teoria degli insiemi Relazioni d ordine, d equivalenza Richiami di logica Logica proposizionale, tabelle di verità, calcolo dei predicati Importante: Principio di Induzione

Dettagli

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 08/02/2017/ Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 08/02/2017/ Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 08/02/2017/ Foglio delle domande/ VERSIONE 1 1) Nella ricorsione, quando il problema ha soluzione immediata siamo a) nell ipotesi ricorsiva b) nel

Dettagli

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

Le variabili logiche possono essere combinate per mezzo di operatori detti connettivi logici. I principali sono: Variabili logiche Una variabile logica (o booleana) è una variable che può assumere solo uno di due valori: Connettivi logici True (vero identificato con 1) False (falso identificato con 0) Le variabili

Dettagli

Programmazione in Python. Moreno Marzolla

Programmazione in Python. Moreno Marzolla Programmazione in Python Moreno Marzolla http://www.moreno.marzolla.name/ Copyright 2011, Moreno Marzolla (http://www.moreno.marzolla.name/teaching/labinf2011/) This work is licensed under the Creative

Dettagli

Fondamenti di Programmazione

Fondamenti di Programmazione Fondamenti di Programmazione Capitolo 4 Condizionale e ricorsione Prof. Mauro Gaspari: gaspari@cs.unibo.it Alcuni operatori utili L'operatore modulo opera su numeri interi e in generale su espressioni

Dettagli

Algebra di Boole. Andrea Passerini Informatica. Algebra di Boole

Algebra di Boole. Andrea Passerini Informatica. Algebra di Boole Andrea Passerini passerini@disi.unitn.it Informatica Variabili logiche Una variabile logica (o booleana) è una variable che può assumere solo uno di due valori: True (vero identificato con 1) False (falso

Dettagli

Logica Proposizionale

Logica Proposizionale Intelligenza rtificiale I Logica Proposizionale Introduzione Marco Piastra Intelligenza rtificiale I -.. 28-29 29 Introduzione al corso ] lgebre di Boole Definizione Una collezione di oggetti X su cui

Dettagli

Strutturare il codice

Strutturare il codice Strutturare il codice Informatica@SEFA 08/09 - Lezione 7 Massimo Lauria http://massimolauria.net/courses/infosefa08/ Mercoledì, 0 Ottobre 08 Valori indefiniti Valore None None

Dettagli

Introduzione alla logica proposizionale

Introduzione alla logica proposizionale Introduzione alla logica proposizionale Mauro Bianco Questa frase è falsa Contents 1 Proposizioni 1 2 Altri operatori 4 Nota : Le parti delimitate da *** sono da considerarsi facoltative. 1 Proposizioni

Dettagli

Descrizione di un algoritmo

Descrizione di un algoritmo Descrizione di un algoritmo Si descrive un algoritmo cercando di sintetizzare il più possibile la sua sequenza di passi; Non si utilizza un linguaggio di programmazione specifico, ma è meglio utilizzare

Dettagli

Espressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test

Espressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test Espressioni logiche Espressioni Logiche e Istruzione di Test Fondamenti di Informatica 1 Massimo Di Nanni Gennaio, 2001 Espressioni logiche nelle Istruzioni di Test e di Iterazione Calcolo del massimo

Dettagli

Laboratorio di Python

Laboratorio di Python Laboratorio di Python Booleani, Selezione, Input Lab03 7 Marzo 2018 Outline Correzione esercizi per oggi Booleani e Selezione (if) Teoria Esercizi Input Teoria Esercizi Esercizi per casa Esercizio 1 per

Dettagli

METODI MATEMATICI PER L INFORMATICA

METODI MATEMATICI PER L INFORMATICA METODI MATEMATICI PER L INFORMATICA Tutorato Lezione 2 17/03/2016 Corso per matricole congrue a 1 Docente: Margherita Napoli Tutor: Amedeo Leo Applicazioni della logica proposizionale La logica ha una

Dettagli

Tutorato di Fondamenti di Informatica TUTOR: DAVIDE GHIANI, GIULIA ORRU

Tutorato di Fondamenti di Informatica TUTOR: DAVIDE GHIANI, GIULIA ORRU Tutorato di Fondamenti di Informatica PROFESSORE: GIAN LUCA MARCIALIS TUTOR: DAVIDE GHIANI, GIULIA ORRU Organizzazione Informazioni di contatto: informatica.marcialis@gmail.com Davide Ghiani Giulia Orrù

Dettagli

Prof. Pagani Corrado ALGEBRA BOOLEANA

Prof. Pagani Corrado ALGEBRA BOOLEANA Prof. Pagani Corrado ALGEBRA BOOLEANA INTRODUZIONE L'algebra di Boole è definita da G. Boole, britannico, seconda metà 8 E un modello matematico che rappresenta le leggi della logica utilizzando variabili

Dettagli

Fondamenti di Informatica T-1. Selezione

Fondamenti di Informatica T-1. Selezione Selezione 2 Selezione Permette di differenziare il flusso di controllo a seconda che sia verificata o meno una condizione. Il flusso di controllo si ramifica in due (o più) sequenze di istruzioni alternative.

Dettagli

Elementi del linguaggio Python

Elementi del linguaggio Python Elementi del linguaggio Python Informatica@SEFA 07/08 - Lezione Massimo Lauria http://massimolauria.net/courses/infosefa07/ Venerdì, 9 Settembre 07 Tipi numerici e calcoli In

Dettagli

Esercitazione 2: Algebra di Boole. Titolo presentazione sottotitolo. Ing. Stefano Marelli. Milano, XX mese 20XX

Esercitazione 2: Algebra di Boole. Titolo presentazione sottotitolo. Ing. Stefano Marelli. Milano, XX mese 20XX Esercitazione 2: Titolo presentazione sottotitolo Milano, XX mese 20XX Algebra di Boole Ing. Stefano Marelli Richiamo, Tabelle di Verità a b a &&b a b ~a xor(a,b) 0 0 0 0 1 0 0 1 0 1 1 1 1 0 0 1 0 1 1

Dettagli

Cast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double

Cast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double Il cast Cast implicito Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto Per esempio: byte short int long float double int x = 10; float f; f = x; Il valore di

Dettagli

PASCAL LA SELEZIONE: IF TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI. Informatica

PASCAL LA SELEZIONE: IF TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI. Informatica PASCAL LA SELEZIONE: IF TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI Informatica La selezione semplice: if..then La selezione semplice: if..then L istruzione di selezione semplice

Dettagli

Tipi di dato primitivi

Tipi di dato primitivi Tipi di dato primitivi (oltre int) Tipi di dato primitivi int (già trattati) Valori logici (ricordati) Valori reali Valori carattere Informatica - A.A. 2009/2010 - Tipi di dato 2 1 Valori logici (il caso

Dettagli

Logica: materiale didattico

Logica: materiale didattico Logica: materiale didattico M. Cialdea Mayer. Logica (dispense): http://cialdea.dia.uniroma3.it/teaching/logica/materiale/dispense-logica.pdf Logica dei Predicati (Logica per l Informatica) 01: Logica

Dettagli

Laboratorio 04. Programmazione - CdS Matematica. Michele Donini 19 Novembre 2013

Laboratorio 04. Programmazione - CdS Matematica. Michele Donini 19 Novembre 2013 Laboratorio 04 Programmazione - CdS Matematica Michele Donini 19 Novembre 2013 Controllo del flusso Selezione: ci permette di modificare il normale flusso sequenziale di un programma a seconda della valutazione

Dettagli

Precedenza degli operatori

Precedenza degli operatori Operatori Booleani Operatori che lavorano bit a bit Anche detti bitwise operator o operatori booleani : AND: prodotto logico dati due bit restituisce il valore 1 se e solo se i bit erano entrambi posti

Dettagli

VBA Principali Comandi

VBA Principali Comandi VBA Principali Comandi Sintassi Significato Esempio Dim As Dichiarazione Dim x As Integer di una variabile Dim , , ,.,

Dettagli

Algebra di Boole ed elementi di logica

Algebra di Boole ed elementi di logica Algebra di Boole ed elementi di logica Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 10 O0obre 2013 Obiettivi Algebra di Boole Algebra di boole a due valori: algebra di commutazione

Dettagli

Strutture di controllo decisionali

Strutture di controllo decisionali Capitolo 3 Strutture di controllo decisionali ANDREA GINI Dopo aver introdotto il concetto di variabile e di array, è giunto il momento di analizzare a fondo i restanti costrutti del linguaggio Java. Come

Dettagli

Elementi di Informatica A. A. 2016/2017

Elementi di Informatica A. A. 2016/2017 Elementi di Informatica A. A. 2016/2017 Ing. Nicola Amatucci Università degli studi di Napoli Federico II Scuola Politecnica e Delle Scienze di Base nicola.amatucci@unina.it Algebra di Boole Elementi di

Dettagli

Laboratorio di Python

Laboratorio di Python Laboratorio di Python Variabili e Funzioni Lab02 1 Marzo 2017 Outline Variabili modificabili Teoria Esempi ed esercizi Funzioni Teoria Esempi ed esercizi Esercizi per casa Outline Variabili modificabili

Dettagli

Logica degli enunciati; Operazioni con le proposizioni; Proprietà delle operazioni logiche; Tautologie; Regole di deduzione; Logica dei predicati;

Logica degli enunciati; Operazioni con le proposizioni; Proprietà delle operazioni logiche; Tautologie; Regole di deduzione; Logica dei predicati; Logica degli enunciati; Operazioni con le proposizioni; Proprietà delle operazioni logiche; Tautologie; Regole di deduzione; Logica dei predicati; Implicazione logica. Equivalenza logica; Condizione necessaria,

Dettagli

Programmazione in Python per la bioinformatica

Programmazione in Python per la bioinformatica per la bioinformatica University of Verona Sommario (if) (while for) Cambiare il usso di esecuzione di un programma Semplice Semplice l'indentazione ha un signicato sintattico! Condizioni Boolean Expression

Dettagli

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave

Dettagli

Tutorato di Fondamenti di Informatica TUTOR: DAVIDE GHIANI, GIULIA ORRU

Tutorato di Fondamenti di Informatica TUTOR: DAVIDE GHIANI, GIULIA ORRU Tutorato di Fondamenti di Informatica PROFESSORE: GIAN LUCA MARCIALIS TUTOR: DAVIDE GHIANI, GIULIA ORRU Organizzazione Informazioni di contatto: informatica.marcialis@gmail.com Davide Ghiani Giulia Orrù

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi.. 2010/2011 Sommario Conversione di tipo:casting Tipo enumerativo lgebra Booleana Esercizi Conversione di tipo:casting Il casting o conversione di tipo avviene

Dettagli

Logica: nozioni di base

Logica: nozioni di base Fondamenti di Informatica Sistemi di Elaborazione delle Informazioni Informatica Applicata Logica: nozioni di base Antonella Poggi Anno Accademico 2012-2013 DIPARTIMENTO DI SCIENZE DOCUMENTARIE LINGUISTICO

Dettagli

Informazione binaria: - rappresentazione di valori logici -

Informazione binaria: - rappresentazione di valori logici - Informazione binaria: - rappresentazione di valori logici - Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Tipologie di codici Nel seguito

Dettagli

Algebra Booleana. 13. Rif:

Algebra Booleana. 13. Rif: Algebra Booleana Fondatore: George Boole (1815-1864) Boole rilevo le analogie fra oggetti dell'algebra e oggetti della logica l algebra Booleana è il fondamento dei calcoli con circuiti digitali. Rif:

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra

Dettagli

marina/did/mdis03/ marina/did/mdis03/ marina/did/mdis03/

marina/did/mdis03/   marina/did/mdis03/   marina/did/mdis03/ Matematica Discreta (elementi) E-O CdL Informatica Elementi di logica formale 8 ottobre 2003 Marina Cazzola (marina@matapp.unimib.it) Dipartimento di Matematica e Applicazioni Università di Milano Bicocca

Dettagli

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

Università degli Studi di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica ALGEBRA BOOLEANA Università degli Studi di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica ALGEBRA BOOLEANA Introduzione George Boole (1815-1864) nel 1854 elaborò una algebra basata su predicati logici. Valori

Dettagli

Logica proposizionale

Logica proposizionale Fondamenti di Informatica per la Sicurezza a.a. 2008/09 Logica proposizionale Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università degli

Dettagli

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande/ VERSIONE 1 1) L approccio con cui si studia un sistema focalizzandosi solo sul rapporto tra input e output si chiama

Dettagli

LOGICA e INSIEMISTICA

LOGICA e INSIEMISTICA LOGICA e INSIEMISTICA Prof. Enrico Terrone A. S: 2008/09 Definizioni La logica è una parte speciale della matematica che si occupa, anziché dei numeri, delle proposizioni. Una proposizione è una frase

Dettagli

Fondamenti di Informatica 2

Fondamenti di Informatica 2 Fondamenti di Informatica 2 Linguaggi e Complessità : Lezione 1 Corso Fondamenti di Informatica 2 Marco Schaerf, 2009-2010 Linguaggi e Complessità : Lezione 1 1 Logica proposizionale Linguaggio matematico

Dettagli

Cenni di logica e calcolo proposizionale

Cenni di logica e calcolo proposizionale Cenni di logica e calcolo proposizionale Corso di Laurea in Informatica Università degli Studi di Bari (sede Brindisi) Analisi Matematica S.Milella (sabina.milella@uniba.it) Cenni di logica 1 / 10 Proposizioni

Dettagli

Logica per la Programmazione

Logica per la Programmazione Logica del Primo Ordine: Motivazioni, Sintassi e Interpretazioni Logica per la Programmazione Lezione 1 Calcolo Proposizionale: sintassi e semantica Tautologie Esempi di Formalizzazione di Enunciati pag.

Dettagli

Lezione 6 Introduzione al C++ Mauro Piccolo

Lezione 6 Introduzione al C++ Mauro Piccolo Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,

Dettagli

Laboratorio di Python

Laboratorio di Python Istruzione di condizione, Input da tastiera, Università di Bologna 6 e 8 marzo 2013 Sommario 1 Tipi di errore e Debugging 2 3 4 Outline Tipi di errore e Debugging 1 Tipi di errore e Debugging 2 3 4 Esercizio

Dettagli

INSIEMI. DEF. Un INSIEME è una qualsiasi collezione di oggetti.

INSIEMI. DEF. Un INSIEME è una qualsiasi collezione di oggetti. INSIEMI DEF. Un INSIEME è una qualsiasi collezione di oggetti. Esso è ben definito quando è chiaro se un oggetto appartiene o non appartiene all insieme stesso. Esempio. E possibile definire l insieme

Dettagli

NOZIONI DI LOGICA. Premessa

NOZIONI DI LOGICA. Premessa NOZIONI DI LOGICA Premessa Il compito principale della logica è quello di studiare il nesso di conseguenza logica tra proposizioni, predisponendo delle tecniche per determinare quando la verità di una

Dettagli

Circuiti digitali combinatori

Circuiti digitali combinatori Circuiti digitali combinatori Parte 1 Definizioni George Boole George Boole (Lincoln, 2 novembre 1815 Ballintemple, 8 dicembre 1864) Matematico e logico britannico Considerato il fondatore della logica

Dettagli

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?

Dettagli

Informatica AA 2005/06. Programmazione M.A. Alberti. Operatori in Java 1. Operatori in Java. Espressioni aritmetiche. Espressioni booleane

Informatica AA 2005/06. Programmazione M.A. Alberti. Operatori in Java 1. Operatori in Java. Espressioni aritmetiche. Espressioni booleane Operatori in Java Operatori in Java Corso di laurea in Informatica Operatori aritmetici Operatori di uguaglianza e relazionali Operatori logici in espressioni booleane La precedenza degli operatori L associatività

Dettagli

NOZIONI DI LOGICA PROPOSIZIONI.

NOZIONI DI LOGICA PROPOSIZIONI. NOZIONI DI LOGICA PROPOSIZIONI. Una proposizione è un affermazione che è vera o falsa, ma non può essere contemporaneamente vera e falsa. ESEMPI Sono proposizioni : 7 è maggiore di 2 Londra è la capitale

Dettagli

Elementi di Base. Introduzione a Python.

Elementi di Base. Introduzione a Python. Elementi di Base Introduzione a Python http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Panoramica Elementi di base della sintassi (struttura,

Dettagli

2 Operatori matematici e costrutto if

2 Operatori matematici e costrutto if Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni

Dettagli

Elementi del linguaggio Python

Elementi del linguaggio Python Elementi del linguaggio Python Informatica@SEFA 08/09 - Lezione 5 Massimo Lauria http://massimolauria.net/courses/infosefa08/ Mercoledì, Ottobre 08 Capitoli del libro su Python

Dettagli

Sviluppo di programmi

Sviluppo di programmi Sviluppo di programmi FASE 1: Dare un nome al problema partendo dall analisi del problema FASE 2: Scrivere la specifica funzionale FASE 3: Scrittura dell algoritmo FASE 3.1: Introduzione delle variabili

Dettagli

Il linguaggio Python

Il linguaggio Python Il linguaggio Python Capitolo 2 Variabili, Espressioni e Comandi Prof. Mauro Gaspari: gaspari@cs.unibo.it Il Linguaggio Python Python e' un linguaggio imperativo con alcune caratteristiche funzionali.

Dettagli

IL COSTRUTTO SELEZIONE

IL COSTRUTTO SELEZIONE IL COSTRUTTO SELEZIONE Il costrutto selezione Permette di effettuare una scelta tra due possibili opzioni. Tale scelta verrà effettuata valutando il valore di verità di una condizione espressa da una proposizione

Dettagli

Algebra Booleana. George Boole Wikipedia, the Free Encyclopedia

Algebra Booleana. George Boole Wikipedia, the Free Encyclopedia Algebra Booleana George Boole 1815 1864 Wikipedia, the Free Encyclopedia www.wikipedia.org http://en.wikipedia.org/wiki/george_boole 1 Logica delle Proposizioni Logica In filosofia, lo studio delle leggi

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Elementi di Programmazione Architettura del calcolatore Reti di Calcolatori Calcolo proposizionale Algebra Booleana Contempla

Dettagli

Istruzioni Condizionali

Istruzioni Condizionali Istruzioni Condizionali Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio

Dettagli

Proposizioni logiche e algebra di Boole

Proposizioni logiche e algebra di Boole Proposizioni logiche e algebra di Boole Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi

Dettagli

Proposizioni Algebra di Boole Condizioni Operatori di relazione

Proposizioni Algebra di Boole Condizioni Operatori di relazione Proposizioni Algebra di Boole Condizioni Operatori di relazione Proposizione ( o Asserzione) Una frase con valore di verità Mario è andato al cinema I pinguini volano Oggi è domenica Una proposizione può

Dettagli

Fondamenti di Informatica T-1. Variabili, costanti e operazioni Selezione

Fondamenti di Informatica T-1. Variabili, costanti e operazioni Selezione Variabili, costanti e operazioni Selezione 2 Variabili Dichiarazione di una variabile: ; Esempio: variabile numerica intera numauto: int numauto; Assegnare alla variabile

Dettagli

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

4. Logica. Insegnamento di Informatica. Elisabetta Ronchieri. I semestre, anno Corso di Laurea di Economia, Universitá di Ferrara 4. Logica Insegnamento di Informatica Elisabetta Ronchieri Corso di Laurea di Economia, Universitá di Ferrara I semestre, anno 2014-2015 Elisabetta Ronchieri (Universitá) Insegnamento di Informatica I

Dettagli

Corso di JavaScript. Prerequisiti. B1 Tipi di dato e operatori. Concetto di variabile, espressione e tipo di dato

Corso di JavaScript. Prerequisiti. B1 Tipi di dato e operatori. Concetto di variabile, espressione e tipo di dato Corso di JavaScript B1 Tipi di dato e operatori 1 Prerequisiti Concetto di variabile, espressione e tipo di dato 2 1 Introduzione In questa Unità illustriamo alcuni strumenti operativi per la scrittura

Dettagli

Istruzione if/else. Espressioni booleane

Istruzione if/else. Espressioni booleane Istruzione if/else Espressioni booleane Espressioni booleane Possono assumere solo due valori: VERO (TRUE, per il C qualunque valore diverso da 0) FALSO (FALSE, il valore 0) Programmazione 2015/16 Introduzione

Dettagli

Istruzioni di controllo

Istruzioni di controllo Istruzioni di controllo Le istruzioni in C Assegnazione Sequenza I/O Test Cicli Controllo = che cosa è la prossima cosa da fare La prossima cosa da fare è quella che segue La prossima cosa da fare dipende

Dettagli

Il C nel C++ Struttura di un linguaggio. Elementi lessicali. Spazi. Livello lessicale: Livello sintattico: Livello semantico:

Il C nel C++ Struttura di un linguaggio. Elementi lessicali. Spazi. Livello lessicale: Livello sintattico: Livello semantico: Struttura di un linguaggio Il C nel C++ Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture

Dettagli

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Python Programmare Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Le istruzioni devono essere date in un linguaggio comprensibile dal calcolatore. In generele questi

Dettagli

Scelte ed alternative

Scelte ed alternative Scelte ed alternative Condizioni complesse Operatori booleani Operatori booleani in C Esercizio proposto Verifica della soluzione 2 Condizioni complesse Logica Booleana Le condizioni semplici (es. confronti)

Dettagli

La codifica dell informazione

La codifica dell informazione La codifica dell informazione Codifica dati e istruzioni Algoritmi = istruzioni che operano su dati. Per scrivere un programma è necessario rappresentare istruzioni e dati in un formato tale che l esecutore

Dettagli

5 - Istruzioni condizionali

5 - Istruzioni condizionali 5 - Istruzioni condizionali Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra

Dettagli

Istruzioni Condizionali

Istruzioni Condizionali Istruzioni Condizionali Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione

Dettagli

Esercizio 2. Spiegare perché è falsa la seguente affermazione: Se n è un numero negativo, allora anche n + 3 è negativo.

Esercizio 2. Spiegare perché è falsa la seguente affermazione: Se n è un numero negativo, allora anche n + 3 è negativo. Sapienza Università di Roma - Facoltà I3S Corso di Laurea in Statistica Economia Finanza e Assicurazioni Corso di Laurea in Statistica Economia e Società Corso di Laurea in Statistica gestionale Matematica

Dettagli

Corso Sapienza Trading Automatico la formazione finanziaria è il miglior investimento per il tuo domani

Corso Sapienza Trading Automatico la formazione finanziaria è il miglior investimento per il tuo domani www.sapienzafinanziaria.com Corso Sapienza Trading Automatico la formazione finanziaria è il miglior investimento per il tuo domani Coaching n. 1 Edizione marzo 2015 Sviluppo di un EA Elementi di MQL www.sapienzafinanziaria.com

Dettagli

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

I.2 Logica. Elisabetta Ronchieri. Ottobre 13, Università di Ferrara Dipartimento di Economia e Management. Insegnamento di Informatica I.2 Logica Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 13, 2015 Argomenti Logica 1 Logica 2 3 Logica Si occupa dello studio delle strutture e delle regole

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell'informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L'algebra

Dettagli

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

George BOOLE ( ) L algebra booleana. (logica proposizionale) George BOOLE (1815-64) L algebra booleana. (logica proposizionale) La logica e George BOOLE George BOOLE nel 1847 pubblicò il libro Mathematical Analysis of Logic, nel quale presentava ciò che oggi si

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza

Dettagli

Corso di Informatica Modulo T1 C1-Sequenza e selezione

Corso di Informatica Modulo T1 C1-Sequenza e selezione Corso di Informatica Modulo T C-Sequenza e selezione Prerequisiti Analizzare un problema Scrivere un algoritmo Istruzioni semplici Espressione logica 2 Introduzione La programmazione a salti crea diverse

Dettagli

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

Algebra di Boole. Modulo 2. Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) Algebra di Boole Modulo 2 Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) Algebra di Boole L algebra di Boole o della commutazione è lo strumento

Dettagli

Logica proposizionale

Logica proposizionale Logica proposizionale Proposizione: frase compiuta che è sempre o vera o falsa. Connettivi Posti in ordine di precedenza: not, and, or, implica, doppia implicazione Sintassi Le proposizioni sono costituite

Dettagli

Fondamenti di Informatica. Algebra di Boole

Fondamenti di Informatica. Algebra di Boole Fondamenti di Informatica Prof. Marco Lombardi A.A. 2018/19 L 1/3 Un po di storia Il matematico inglese George Boole nel 1847 fondò un campo della matematica e della filosofia chiamato logica simbolica

Dettagli

Il C nel C++ Struttura di un linguaggio. regole per la definizione i simboli. regole per la composizione dei simboli

Il C nel C++ Struttura di un linguaggio. regole per la definizione i simboli. regole per la composizione dei simboli Il C nel C++ Struttura di un linguaggio Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture

Dettagli

Struttura di un linguaggio

Struttura di un linguaggio Il C nel C++ Struttura di un linguaggio Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture

Dettagli