Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale"

Transcript

1 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 di Boole è un formalismo che opera su variabili (dette variabili booleane o variabili logiche o asserzioni) che possono assumere due soli valori: Vero Falso L algebra booleana nasce come tentativo di definire in forma algebrica processi di tipo logico-deduttivo Tuttavia, poiché di fatto l algebra di Boole opera su variabili binarie (vero e falso sono i 2 soli simboli), i suoi operatori possono essere inclusi fra gli operatori dell algebra binaria. 2 Algebra di Boole Operatori ed Espressioni Booleane Sulle variabili booleane è possibile definire delle funzioni (dette funzioni booleane o logiche) f (,,X N ) : {,} N {,} Possono essere definite tramite le tabelle di verità. Una tabella di verità di una funzione di N variabili ha 2 N righe, una per ogni possibile combinazione delle variabili, e N+ colonne, che rappresentano i valori delle N variabili più il valore della funzione X 3 F Fra le funzioni definibili tramite l algebra di Boole alcune hanno particolare importanza per il loro significato logico e sono usate come operatori di base: AND (indicato in genere dal simbolo ) OR (indicato in genere dal simbolo + ) NOT (indicato in genere dal simbolo - ) XOR (indicato in genere dal simbolo ) NAND (indicato in genere dal simbolo ) NOR (indicato in genere dal simbolo ) In realtà, qualunque funzione booleana può essere realizzata utilizzando 2 soli operatori: AND e NOT oppure OR e NOT 3 4

2 NOT - AND - OR X NOT AND AND(, ): il risultato è (Vero) NOT (X): il risultato è la negazione della variabile se entrambe le variabili hanno valore OR(, ): il risultato è (Vero) se almeno una delle variabili ha valore OR XOR - NAND - NOR XOR NAND NOR (, ) = NOT (OR (, )) XOR (, ): il risultato è (Vero) se una sola delle due variabili ha valore NAND (, ) = NOT (AND (, )) NOR 5 6 Interpretazione logica degli operatori Se si ha una operazione del tipo: A * B (* indica una generica operazione), il risultato è vero se: * condizione OR A o B (o entrambe) sono vere AND sia A che B sono vere XOR A o B (ma non entrambe) sono vere Operatori ed Espressioni Booleane Questi operatori possono essere combinati in espressioni booleane che rappresentano funzioni booleane e si compongono con le stesse regole utilizzate per l algebra tradizionale. F(x, x 2, x 3 )= ((NOT x ) AND x 2 ) OR x

3 Espressioni equivalenti Espressioni complementari Due espressioni si dicono equivalenti quando producono lo stesso risultato per ogni combinazione dei valori delle variabili Esempio a b a XOR b a x b + a x b (a AND (NOT b)) OR ((NOT a) AND b) T e T2 sono complementari se per quelle combinazioni in cui T risulta, T2 risulta e viceversa Esempio T = (a x c) + (a x b) T2 = (a x c) + (a x b) 9 Lab. Programmazione 2/2 - Algoritmi e Programmazione 2 3

4

5 Esercizi Sulla base di quanto visto per la somma di N numeri Definire un algoritmo per il calcolo del prodotto di N numeri MATLAB Descriverlo attraverso un opportuno diagramma di flusso Verificare se le seguenti coppie di funzioni booleane sono equivalenti (cioè hanno la stessa tabella di verità): C AND (A OR NOT B) e (B AND (NOT A)) OR (NOT C) A AND (B AND NOT C) e (NOT A) OR (C OR (NOT B)) 7 Caratteristiche Linguaggio di programmazione orientato all'elaborazione di matrici (MATLAB=MATrix LABoratory) Un linguaggio si basa sull uso delle variabili che rappresentano i dati e sulla disponibilità di alcuni operatori per manipolarli. Le variabili sono matrici (una variabile scalare equivale ad una matrice di dimensione x; un array di dimensione N è una matrice xn) Gli operatori, quindi, sono definiti per operare su matrici Esempio di programma MATLAB % Usa solo moltiplicazione e assegnazione a = [ 2 3; 4 5 6; 7 8 9]; b = [ 2 3]'; c = a*b; c Lab. Programmazione - MATLAB 9 Lab. Programmazione - MATLAB 2 5

6 Dati Un elaboratore è un manipolatore di simboli L'architettura di ogni elaboratore è intrinsecamente capace di trattare vari domini di definizione dei dati, detti tipi di dato primitivi dominio dei numeri interi dominio dei numeri reali dominio dei caratteri dominio delle stringhe di caratteri Le variabili di MATLAB sono matrici (array multidimensionali) i cui elementi appartengono ad uno di questi domini Esempio a=3; b=2; % ad a,b (variabili scalari) vengono % assegnati i rispettivi valori c = [ 2;4 ] % c è definita come matrice 2x2 %il simbolo ; separa le righe d = c + c % il valore di d e k vengono modificati, k = a + b % assegnando a d due volte il valore di c % e a k la somma di a e b % dopo l'esecuzione di questa operazione % il valore di d è [2 4; 8 2] e k vale 5 Lab. Programmazione - MATLAB 2 Lab. Programmazione - MATLAB 22 Variabili Inizializzazione variabile: la variabile inizia ad esistere al momento in cui le si assegna un valore; a =, b = ; c = [ stringa, altra stringa ]; Il comando who mostra una lista delle variabili che sono state definite Il comando whos mostra anche altre informazioni (tipo, dimensione ) In ogni caso, tutte le variabili attive sono elencate nella finestra Variables' List Stringhe Una stringa è una sequenza di caratteri delimitata da apici (in Octave anche fra doppie virgolette) 'ciao' 'hello' In MATLAB le stringhe possono essere elementi di una matrice itaing = ['ciao', 'hello'] Lab. Programmazione - MATLAB 23 Lab. Programmazione - MATLAB 24 6

7 Espressioni MATLAB è un linguaggio basato su espressioni Un'espressione è una notazione che denota un valore mediante un processo di valutazione Classificazione degli operatori In base al tipo di operandi (aritmetici, logici, relazionali) Un'espressione può essere semplice (una costante, un simbolo di variabile) o composta ogni linguaggio comprende un insieme di operatori che permettono di aggregare altre espressioni (operandi) per formare espressioni composte Esempi : 4*8-2*arcsin(x) a&&(b c) In base al numero degli operandi (unari, binari, ternari..) Gli operatori forniti dal linguaggio, insieme alle istruzioni di controllo (if, cicli, ecc.) consentono di scrivere programmi e funzioni. Lab. Programmazione - MATLAB 25 Lab. Programmazione - MATLAB 26 Funzioni e programmi Un programma è la descrizione di una sequenza di operazioni definite tramite il linguaggio di programmazione che risolvono uno specifico problema su dati predeterminati o forniti dall utente durante la sua esecuzione. Una funzione generalizza la soluzione di una classe di problemi e consente di essere utilizzata (chiamata) specificando dei valori di input (eventualmente generati all interno di un programma) che mi descrivono un problema come una istanza della classe per cui la funzione fornisce una soluzione. Funzioni e programmi Es. di programma b = input ( inserisci la base ) h = input ( inserisci l altezza ) a = b*h; disp( Area = ); disp (a); Lab. Programmazione - MATLAB 27 Lab. Programmazione - MATLAB 28 7

8 Funzioni e programmi Es. di funzione area(b,h) function a=area(b,h) a = b*h; end Definisce una regola che, per qualsiasi valore di b e di h mi calcola un terzo valore che rappresenta l area. Posso utilizzarla all interno di un programma scrivendo ad es. area(3,5) (rappresenta il valore 5) Funzioni e programmi Una volta definita una funzione posso usarla all interno di un programma. Es. di programma che usa la funzione area l = input ( inserisci la larghezza ) p = input ( inserisci la profondita ) abase = area(l,p); disp( Area di base = ); disp (a); h = input ( inserisci l altezza ); disp( Il volume è ); disp (abase*h); Lab. Programmazione - MATLAB 29 Lab. Programmazione - MATLAB 3 Operatori aritmetici Operatore Tipo MATLAB Inversione di segno Unario - Somma Binario + Differenza Binario - Moltiplicazione Binario * Divisione (molt. per l inv.) Binario / Molt. elemento per elemento Binario.* Div. elemento per elemento Binario./ Esempi di operazioni a = [ 2 3; 9 5 4; 7]; b = [ 2 3; 7 2; 6 6 9]; c = a*b d = a.*b e = a + b f = -a g = 3*b Se si chiude il comando con ; non si ottiene alcun output. Altrimenti il risultato dell'operazione è visualizzato immediatamente Lab. Programmazione - MATLAB 3 Lab. Programmazione - MATLAB 32 8

9 Estrazione di dati da una matrice a = [ 2 3; 9 5 4; 7] b = a(,4) % 4 elemento della prima riga c = a(,:) d = a(:,3) % l'intera prima riga (c è un array monodimensionale) % la terza colonna di a (d è un vettore colonna) Anche gli indici possono essere espressi tramite un array :n % restituisce un array con tutti i numeri interi da a n e = a(2,[[:3] 5]) % vettore contenente i primi 3 elementi e il quinto della seconda riga di a Operatori relazionali Relazione MATLAB Uguaglianza == Diversità!= Diversità = Diversità <> Maggiore di > Minore di < Maggiore o uguale a >= Minore o uguale a <= Sono sempre valutati elemento per elemento. Ciò che si confronta deve avere la stessa struttura. Lab. Programmazione - MATLAB 33 Lab. Programmazione - MATLAB 34 9

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

Diagrammi di flusso (Flow Chart)

Diagrammi di flusso (Flow Chart) Diagrammi di flusso (Flow Chart) I diagrammi di flusso sono un formalismo grafico per descrivere gli algoritmi. I diagrammi di flusso visualizzano graficamente i passi da cui sono formati gli algoritmi

Dettagli

Diagrammi di flusso (Flow Chart)

Diagrammi di flusso (Flow Chart) Diagrammi di flusso (Flow Chart) I diagrammi di flusso sono un formalismo grafico per descrivere gli algoritmi. I diagrammi di flusso visualizzano graficamente i passi da cui sono formati gli algoritmi

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

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 Laurea in Ingegneria Civile e Ambientale Algoritmi e Algebra di Boole Stefano Cagnoni Il problema di fondo Descrizione

Dettagli

Rappresentazione in virgola fissa (fixed-point) Rappresentazione di Numeri Reali. Conversione decimale-binario di numeri non interi

Rappresentazione in virgola fissa (fixed-point) Rappresentazione di Numeri Reali. Conversione decimale-binario di numeri non interi Rappresentazione di Numeri Reali Un numero reale è una grandezza continua Può assumere infiniti valori In una rappresentazione di lunghezza limitata, deve di solito essere approssimato. Esistono due forme

Dettagli

Rappresentazione in virgola mobile (floating-point) Rappresentazione in virgola mobile (floating-point)

Rappresentazione in virgola mobile (floating-point) Rappresentazione in virgola mobile (floating-point) Se ho una rappresentazione in virgola fissa (es. su segno e 8 cifre con 3 cifre alla destra della virgola) rappresento numeri (base ) compresi fra -99999.999 e 99999.999 Non posso rappresentare, quindi:

Dettagli

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c Caratteristiche MATLAB Linguaggio di programmazione orientato all elaborazione di matrici (MATLAB=MATrix LABoratory) Le variabili sono matrici (una variabile scalare equivale ad una matrice di dimensione

Dettagli

Estrazione di dati da una matrice

Estrazione di dati da una matrice Estrazione di dati da una matrice a = [ 2 3 4 5; 9 5 4 7 6; 7 3 2] b = a(,2) % 2 elemento della prima riga c = a(,:) % l'intera prima riga (c è un array monodimensionale) d = a(:,3) % la terza colonna

Dettagli

Funzioni e programmi. Lab. Programmazione - MATLAB 1

Funzioni e programmi. Lab. Programmazione - MATLAB 1 Funzioni e programmi Un programma è la descrizione di una sequenza di operazioni definite tramite il linguaggio di programmazione che risolvono uno specifico problema su dati predeterminati o forniti dall'utente

Dettagli

Il potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO

Il potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di

Dettagli

LINGUAGGI DI PROGRAMMAZIONE!

LINGUAGGI DI PROGRAMMAZIONE! LINGUAGGI DI PROGRAMMAZIONE! Il potere espressivo di un linguaggio è! caratterizzato da:! quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente)! quali istruzioni

Dettagli

Calcolo numerico e programmazione Elementi di logica

Calcolo numerico e programmazione Elementi di logica Calcolo numerico e programmazione Elementi di logica Tullio Facchinetti 23 marzo 2012 10:50 http://robot.unipv.it/toolleeo Algebra booleana (George Boole (1815-1864)) è definita

Dettagli

Tipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi:

Tipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: Tipi di dato Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: esprimere in modo sintetico la loro rappresentazione in memoria, e un insieme di operazioni ammissibili permettere

Dettagli

LINGUAGGI DI PROGRAMMAZIONE

LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole e Circuiti Logici Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 Algebra di Boole e Circuiti Logici L Algebra

Dettagli

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Il problema di fondo Fondamenti di Informatica Laurea in Ingegneria ivile e Ingegneria per l ambiente e il territorio Algoritmi

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Prof. Arcangelo Castiglione A.A. 2017/18 Outline Algebra di Boole Relazione con i Circuiti Logici Elementi Costitutivi Operatori Logici Elementari Funzioni Logiche (o Booleane)

Dettagli

Il Linguaggio C. Caratteristiche. Caratteristiche. Esempio di programma in C. Tipi di dato primitivi in C. Dati

Il Linguaggio C. Caratteristiche. Caratteristiche. Esempio di programma in C. Tipi di dato primitivi in C. Dati Caratteristiche Il Linguaggio C Linguaggio sequenziale (lineare), imperativo, strutturato a blocchi usabile anche come linguaggio di sistema software di base sistemi operativi compilatori... FI - Algoritmi

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

IL LINGUAGGIO C TIPI DI DATO

IL LINGUAGGIO C TIPI DI DATO IL LINGUAGGIO C Un elaboratore è un manipolatore di simboli (segni) L'architettura fisica di ogni elaboratore è intrinsecamente capace di trattare vari domini di dati, detti tipi primitivi dominio dei

Dettagli

FUNZIONI BOOLEANE. Vero Falso

FUNZIONI BOOLEANE. Vero Falso FUNZIONI BOOLEANE Le funzioni booleane prendono il nome da Boole, un matematico che introdusse un formalismo che opera su variabili (dette variabili booleane o variabili logiche o asserzioni) che possono

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole di Boole e Circuiti e Circuiti Logici Logici Prof. XXX Prof. Arcangelo Castiglione A.A. 2016/17 A.A. 2016/17 L Algebra di Boole 1/3 Un po di storia Il matematico

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole e Circuiti Logici Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2017/18 Algebra di Boole e Circuiti Logici 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

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

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma

Dettagli

I.3 Porte Logiche. Elisabetta Ronchieri. Ottobre 13, Università di Ferrara Dipartimento di Economia e Management. Insegnamento di Informatica

I.3 Porte Logiche. Elisabetta Ronchieri. Ottobre 13, Università di Ferrara Dipartimento di Economia e Management. Insegnamento di Informatica I.3 Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 13, 2015 Argomenti 1 2 3 Elaboratore Hardware È il mezzo con il quale l informazione è elaborata. Software

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

Il linguaggio JavaScript

Il linguaggio JavaScript Il linguaggio JavaScript JavaScript è un linguaggio di programmazione ad alto livello compatto e comprensibile. sintassi e semantica sono formalmente definite, compatto e comprensibile. appartiene alla

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

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

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

IL LINGUAGGIO C TIPI DI DATO

IL LINGUAGGIO C TIPI DI DATO IL LINGUAGGIO C Un elaboratore è un manipolatore di simboli (segni) L'architettura fisica di ogni elaboratore è intrinsecamente capace di trattare vari domini di dati, detti tipi primitivi dominio dei

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

Algebra di Boole X Y Z V. Algebra di Boole

Algebra di Boole X Y Z V. Algebra di Boole L algebra dei calcolatori L algebra booleana è un particolare tipo di algebra in cui le variabili e le funzioni possono solo avere valori 0 e 1. Deriva il suo nome dal matematico inglese George Boole che

Dettagli

Dal problema a un programma comprensibile dal calcolatore. Il Progetto degli Algoritmi. Dall analisi del problema all esecuzione

Dal problema a un programma comprensibile dal calcolatore. Il Progetto degli Algoritmi. Dall analisi del problema all esecuzione Il Progetto degli Algoritmi Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Dal problema a un programma comprensibile dal calcolatore

Dettagli

Un elaboratore è un manipolatore di simboli (segni) intrinsecamente capace di trattare vari. caratteri char caratteri ASCII unsigned char

Un elaboratore è un manipolatore di simboli (segni) intrinsecamente capace di trattare vari. caratteri char caratteri ASCII unsigned char IL LINGUAGGIO C Un elaboratore è un manipolatore di simboli (segni) L'architettura tt fisica i di ogni elaboratore è intrinsecamente capace di trattare vari domini i di dati, detti tipi i primitivi iti

Dettagli

IL LINGUAGGIO C Un elaboratore è un manipolatore di simboli (segni) L'architettura fisica di ogni elaboratore è intrinsecamente capace

IL LINGUAGGIO C Un elaboratore è un manipolatore di simboli (segni) L'architettura fisica di ogni elaboratore è intrinsecamente capace IL LINGUAGGIO C Un elaboratore è un manipolatore di simboli (segni) L'architettura fisica di ogni elaboratore è intrinsecamente capace di trattare vari domini di dati, detti tipi primitivi dominio dei

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

CIRCUITI DIGITALI. La grandezza fisica utilizzata nella maggior parte dei circuiti digitali è la differenza di potenziale (tensione).

CIRCUITI DIGITALI. La grandezza fisica utilizzata nella maggior parte dei circuiti digitali è la differenza di potenziale (tensione). CIRCUITI DIGITALI Un circuito elettronico viene classificato come circuito digitale quando è possibile definire il suo comportamento per mezzo di due soli stati fisici di una sua grandezza caratteristica.

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 Algoritmi e Programmazione Stefano Cagnoni Il problema

Dettagli

Y = A + B e si legge A or B.

Y = A + B e si legge A or B. PORTE LOGICHE Le principali parti elettroniche dei computer sono costituite da circuiti digitali che, come è noto, elaborano segnali logici basati sullo 0 e sull 1. I mattoni fondamentali dei circuiti

Dettagli

Espressioni ed operatori in C

Espressioni ed operatori in C Espressioni ed operatori in C Espressioni Il C è un linguaggio basato su espressioni Una espressione è una notazione che denota un valore mediante un processo di valutazione Una espressione può essere

Dettagli

Espressioni ed operatori in C

Espressioni ed operatori in C Espressioni ed operatori in C Espressioni Il C è un linguaggio basato su espressioni Una espressione è una notazione che denota un valore mediante un processo di valutazione Una espressione può essere

Dettagli

Marta Capiluppi Dipartimento di Informatica Università di Verona

Marta Capiluppi Dipartimento di Informatica Università di Verona Marta Capiluppi marta.capiluppi@univr.it Dipartimento di Informatica Università di Verona Algebra di Boole Opera con i soli valori di verità 0 o 1 (variabili booleane o logiche) L'algebra booleana risulta

Dettagli

Richiami di Algebra di Commutazione

Richiami di Algebra di Commutazione LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n Prof. Rosario Cerbone rosario.cerbone@libero.it http://digilander.libero.it/rosario.cerbone a.a. 6-7 Richiami di Algebra di Commutazione In questa

Dettagli

Aritmetica in virgola mobile Algebra di Boole e reti logiche Esercizi. Mercoledì 8 ottobre 2014

Aritmetica in virgola mobile Algebra di Boole e reti logiche Esercizi. Mercoledì 8 ottobre 2014 Aritmetica in virgola mobile Algebra di Boole e reti logiche Esercizi Mercoledì 8 ottobre 2014 Notazione scientifica normalizzata La rappresentazione in virgola mobile che adotteremo si basa sulla notazione

Dettagli

2001 Pier Luca Montessoro, Davide Pierattoni (si veda la nota di copyright alla slide n. 2)

2001 Pier Luca Montessoro, Davide Pierattoni (si veda la nota di copyright alla slide n. 2) - Linguaggio C - Espressioni e operatori FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing.DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Espressioni e operatori

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

Lezione2: Circuiti Logici

Lezione2: Circuiti Logici Lezione2: Circuiti Logici traduce per noi in linguaggio macchina utente macchina software macchina hardware Agli albori dell'informatica, l utente programmava in binario (Ling.Mac.) scrivendo i programmi

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

Linguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato»

Linguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato» Linguaggio Testuale E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato» Delle volte viene chiamato metalinguaggio, e l algoritmo scritto tramite

Dettagli

LA CODIFICA DELLE INFORMAZIONI

LA CODIFICA DELLE INFORMAZIONI LA CODIFICA DELLE INFORMAZIONI I SEGNALI PER COMUNICARE ANALOGICO DIGITALE Gli esseri umani ed i computer utilizzano differenti tipi di segnali per comunicare. INFORMAZIONE ANALOGICA La voce umana e la

Dettagli

Strutture di controllo condizionali in Matlab

Strutture di controllo condizionali in Matlab Strutture di controllo condizionali in Matlab Informatica B Le strutture condizionali A cosa servono le strutture condizionali? %Inserimento dei parametri della parabola: y=ax^2+bx+c a = input( inserire

Dettagli

Circuiti Logici. Pagina web del corso:

Circuiti Logici. Pagina web del corso: Circuiti Logici Pagina web del corso: http://www.math.unipd.it/~aceccato Macchina hardware e macchina software Agli albori il computer era essenzialmente una CPU collegata ad una piccola RAM Ogni istruzione

Dettagli

Corso di PHP. Prerequisiti. 2.2 Operatori. Conoscenza HTML Tecnica della programmazione Principi di programmazione web. M. Malatesta 2.

Corso di PHP. Prerequisiti. 2.2 Operatori. Conoscenza HTML Tecnica della programmazione Principi di programmazione web. M. Malatesta 2. Corso di PHP 2.2 Operatori 29//25 Prerequisiti Conoscenza HTML Tecnica della programmazione Principi di programmazione web 2 29//25 Introduzione In questa Unità illustriamo più in particolare come le variabili

Dettagli

Lezione 9 : Algebra di Boole e Codifica Binaria (p. 1) Lunedì 29 Novembre 2010

Lezione 9 : Algebra di Boole e Codifica Binaria (p. 1) Lunedì 29 Novembre 2010 Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Corso B Docente : Ing. Anno Accademico 2-2 Lezione 9 : Algebra di Boole e Codifica Binaria (p. ) Lunedì 29 Novembre 2

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 Algoritmi e Programmazione Stefano Cagnoni Il problema

Dettagli

Notazione e convenzioni in questi lucidi

Notazione e convenzioni in questi lucidi Notazione e convenzioni in questi lucidi Il programma, ovvero la descrizione della funzione da calcolare, è scritto dall utente come una sequenza di caratteri. le sequenze di caratteri sono anche dette,

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

FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA FONDAMENTI DI INFORMATICA Prof. Venturino Taggi e prof. Alfredo Accattatis, slide (rielaborate) del prof. Emiliano Casalicchio accattatis@ing.uniroma2.it 2 Fondamenti di Informatica 2015/16 V.Taggi Argomenti

Dettagli

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico Architettura degli Elaboratori e Laboratorio Matteo Manzali Università degli Studi di Ferrara Anno Accademico 2016-2017 Algebra booleana L algebra booleana è un particolare tipo di algebra in cui le variabili

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

FONDAMENTI DI INFORMATICA. Prof. Alfredo Accattatis Tutor: prof. Venturino Taggi

FONDAMENTI DI INFORMATICA. Prof. Alfredo Accattatis Tutor: prof. Venturino Taggi FONDAMENTI DI INFORMATICA Prof. Alfredo Accattatis (accattatis@ing.uniroma2.it) Tutor: prof. Venturino Taggi (taggi@ing.uniroma2.it) 2 Fondamenti di Informatica Argomenti Approfondimenti sui floating-point:

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

Estrazione di dati da una matrice

Estrazione di dati da una matrice Estrazione di dati da una matrice a = [1 2 3 4 5; 9 5 4 7 6; 10 1 7 3 2] b = a(1,2) % 2 elemento della prima riga c = a(1,:) % l'intera prima riga (c è un array monodimensionale) d = a(:,3) % la terza

Dettagli

Algebra di Boole Algebra di Boole

Algebra di Boole Algebra di Boole 1 L algebra dei calcolatori L algebra booleana è un particolare tipo di algebra in cui le variabili e le funzioni possono solo avere valori 0 e 1. Deriva il suo nome dal matematico inglese George Boole

Dettagli

Linguaggio C: Espressioni

Linguaggio C: Espressioni Linguaggio C: Espressioni Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Ringraziamenti prof. Mirko Viroli, Università

Dettagli

MATLAB Alcune funzioni utili: fprintf, length, size

MATLAB Alcune funzioni utili: fprintf, length, size MATLAB Alcune funzioni utili: fprintf, length, size Funzione fprintf fprintf(fileid, format, var1, var2,... ) fprintf(format, var1, var2,... ) count = fprintf(...) fprintf(fileid, format, A, B) salva il

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 PROBLEMA DEL PROGETTO

IL PROBLEMA DEL PROGETTO IL PROBLEMA DEL PROGETTO La descrizione del problema, in genere, non indica direttamente il modo per ottenere il risultato voluto (il procedimento risolutivo) Occorrono metodologie per affrontare il problema

Dettagli

Indice Capitolo 1 Capitolo 2 Capitolo 3 Capitolo 4 Capitolo 5 Capitolo 6

Indice Capitolo 1 Capitolo 2 Capitolo 3 Capitolo 4 Capitolo 5 Capitolo 6 1 Indice Capitolo 1... 7 Introduzione al Problem Solving... 7 Computer... 11 Informatica... 13 Capitolo 2... 17 Rappresentazione e Algoritmi... 17 Un esempio di algoritmo... 19 Diagrammi di flusso... 22

Dettagli

Valutazione di espressioni

Valutazione di espressioni Valutazione di espressioni Stefano Ferrari Università degli Studi di Milano stefano.ferrari@unimi.it Programmazione anno accademico 2016 2017 Blocco Blocco è un insieme di istruzioni consecutive, con un

Dettagli

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA MATLAB I/O Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA Funzione input valore = input( inserisci un valore ); Matlab stampa a video la stringa inserisci un valore ed aspetta di ricevere

Dettagli

Informatica e Bioinformatica: AND, OR, NOT

Informatica e Bioinformatica: AND, OR, NOT 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)

Dettagli

Informatica e Bioinformatica: Circuiti

Informatica e Bioinformatica: Circuiti Date TBD Macchina Hardware/Software Sistema Operativo Macchina Hardware La macchina hardware corrisponde alle componenti fisiche del calcolatore (quelle viste nella lezione precedente). Un sistema operativo

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

Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria. Docente : Ing. Secondulfo Giovanni Anno Accademico

Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria. Docente : Ing. Secondulfo Giovanni Anno Accademico Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Docente : Ing. Secondulfo Giovanni Anno Accademico 2010-2011 Lezione 3: La Formalizzazione degli Algoritmi Dati e Variabili

Dettagli

Introduzione al MATLAB c Parte 2

Introduzione al MATLAB c Parte 2 Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 24 settembre 2007 Outline 1 M-file di tipo Script e Function Script Function 2 Elementi di programmazione

Dettagli

IL PROBLEMA DEL PROGETTO IL PROBLEMA DEL PROGETTO IL PROBLEMA DEL PROGETTO METODOLOGIE DI PROGETTO METODOLOGIA TOP-DOWN METODOLOGIA BOTTOM-UP

IL PROBLEMA DEL PROGETTO IL PROBLEMA DEL PROGETTO IL PROBLEMA DEL PROGETTO METODOLOGIE DI PROGETTO METODOLOGIA TOP-DOWN METODOLOGIA BOTTOM-UP IL PROBLEMA DEL PROGETTO La descrizione del problema, in genere, non indica direttamente il modo per ottenere il risultato voluto (il procedimento risolutivo) Occorrono metodologie per affrontare il problema

Dettagli

Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.

Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense. Fondamenti di Informatica - A. Fantechi Raccolta di esercizi Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.

Dettagli

02/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 8 STRUTTURE DI CONTROLLO (1)

02/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 8 STRUTTURE DI CONTROLLO (1) LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 8 STRUTTURE DI CONTROLLO (1) Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna

Dettagli

Cicli. S i a i = a 1 + a 2 + a a n

Cicli. S i a i = a 1 + a 2 + a a n Cicli Esprimono in modo compatto e generali l'esecuzione di uno stesso blocco di codice per più volte Anche in matematica sono presenti operatori che eseguono di fatto un ciclo (ad es. sommatoria e produttoria)

Dettagli

Reti Logiche Combinatorie

Reti Logiche Combinatorie Testo di riferimento: [Congiu] - 2.4 (pagg. 37 57) Reti Logiche Combinatorie 00.b Analisi Minimizzazione booleana Sintesi Rete logica combinatoria: definizione 2 Una rete logica combinatoria èuna rete

Dettagli

Introduzione a Matlab

Introduzione a Matlab INFORMATICA B Ingegneria Elettrica Introduzione a Matlab Introduzione a Matlab Matlab (MATrix LABoratory) è uno strumento per il calcolo scientifico ed ingegneristico Matlab facilita lo sviluppo di programmi

Dettagli

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

Fondamenti dell Informatica Algebra di Boole. Prof.ssa Enrica Gentile Fondamenti dell Informatica Algebra di Boole Prof.ssa Enrica Gentile Algebra di Boole Si basa su tre operazioni logiche: AND (*) OR (+) NOT (!) Gli operandi possono avere solo due valori: Vero () Falso

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

Insegnamento Informatica CdS Scienze Giuridiche

Insegnamento Informatica CdS Scienze Giuridiche Insegnamento Informatica CdS Scienze Giuridiche A.A. 29/ Prof. Valle D.ssa Folgieri Informazioni preliminari Prof. Valle email valle@dsi.unimi.it SITO DEL CORSO: http://webcen.dsi.unimi.it/wcinfo Syllabus:

Dettagli

MATLAB (II parte) Commenti. Input/Output (I/O) Istruzioni di Input/Output (I/O)

MATLAB (II parte) Commenti. Input/Output (I/O) Istruzioni di Input/Output (I/O) Commenti (II parte) Sequenze di caratteri precedute da % Es. % Questo è un commento Vengono ignorati nell'esecuzione di un programma ma servono a chiarire il significato del programma Possono essere inseriti

Dettagli

Algebra di Boole. Introdotta nel 1874 da George Boole per fornire una rappresentazione algebrica della logica

Algebra di Boole. Introdotta nel 1874 da George Boole per fornire una rappresentazione algebrica della logica Algebra di Boole Algebra di Boole Per poter affrontare in modo sistematico lo studio dei sistemi di calcolo, abbiamo inizialmente bisogno di un apparato teorico-formale mediante il quale lavorare sulle

Dettagli

MATLAB (II parte) L ambiente QTOctave (MATLAB) Scrivere ed eseguire un programma. Commenti

MATLAB (II parte) L ambiente QTOctave (MATLAB) Scrivere ed eseguire un programma. Commenti L ambiente QTOctave () (II parte) Lab. Programmazione - 2 Scrivere ed eseguire un programma Nella finestra Editor è possibile scrivere una sequenza di istruzioni (un programma!) che potranno poi essere

Dettagli

Circuiti e reti combinatorie. Appendice A (libro italiano) + dispense

Circuiti e reti combinatorie. Appendice A (libro italiano) + dispense Circuiti e reti combinatorie Appendice A (libro italiano) + dispense Linguaggio del calcolatore Solo assenza o presenza di tensione: o Tante componenti interconnesse che si basano su e Anche per esprimere

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

Pag. 1. La formalizzazione dell informazione: Dati e Diagrammi di Flusso. Codifica degli algoritmi

Pag. 1. La formalizzazione dell informazione: Dati e Diagrammi di Flusso. Codifica degli algoritmi 1 Università degli studi di Parma Dipartimento di Ingegneria dell Informazione Informatica a.a. 2012/13 Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni La formalizzazione

Dettagli