Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
|
|
- Antonietta Grasso
- 4 anni fa
- Visualizzazioni
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
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
DettagliDiagrammi 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
DettagliDiagrammi 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
DettagliLaboratorio 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
DettagliLaboratorio 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
DettagliRappresentazione 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
DettagliRappresentazione 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:
DettagliMATLAB. 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
DettagliEstrazione 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
DettagliFunzioni 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
DettagliIl 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
DettagliLINGUAGGI 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
DettagliCalcolo 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
DettagliTipi 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
DettagliLINGUAGGI 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
DettagliFondamenti 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
DettagliFondamenti 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
DettagliFondamenti 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)
DettagliIl 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
DettagliLogica 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
DettagliIL 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
DettagliFUNZIONI 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
DettagliFondamenti 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
DettagliFondamenti 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
DettagliGeorge 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
DettagliCorso 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
DettagliCorso 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
DettagliI.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
DettagliInformatica 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à
DettagliIl 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
DettagliUniversità 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
DettagliIntroduzione 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
DettagliAlgebra 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:
DettagliIL 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
DettagliDispensa 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
DettagliAlgebra 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
DettagliDal 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
DettagliUn 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
DettagliIL 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
DettagliLe 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
DettagliCIRCUITI 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.
DettagliLaboratorio 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
DettagliY = 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
DettagliEspressioni 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
DettagliEspressioni 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
DettagliMarta 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
DettagliRichiami 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
DettagliAritmetica 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
Dettagli2001 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
DettagliAlgebra 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
DettagliLezione2: 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
DettagliFondamenti 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
DettagliLinguaggio 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
DettagliLA 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
DettagliStrutture 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
DettagliCircuiti 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
DettagliCorso 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
DettagliLezione 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
DettagliLaboratorio 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
DettagliNotazione 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,
DettagliElementi 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
DettagliFONDAMENTI 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
DettagliArchitettura 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
DettagliEsercitazione 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
DettagliFONDAMENTI 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:
DettagliCircuiti 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
DettagliEstrazione 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
DettagliAlgebra 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
DettagliLinguaggio 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à
DettagliMATLAB 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
DettagliSviluppo 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
DettagliIL 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
DettagliIndice 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
DettagliValutazione 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
DettagliMATLAB 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
DettagliInformatica 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)
DettagliInformatica 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
DettagliInformazione 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
DettagliUniversità 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
DettagliIntroduzione 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
DettagliIL 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
DettagliPer 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.
Dettagli02/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
DettagliCicli. 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)
DettagliReti 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
DettagliIntroduzione 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
DettagliFondamenti 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
DettagliProgramma 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
DettagliInsegnamento 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:
DettagliMATLAB (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
DettagliAlgebra 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
DettagliMATLAB (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
DettagliCircuiti 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
DettagliAlgebra 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
DettagliPag. 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