Algebra Booleana ed Espressioni Booleane

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Algebra Booleana ed Espressioni Booleane"

Transcript

1 Algebra Booleana ed Espressioni Booleane Che cosa è un Algebra? Dato un insieme E di elementi (qualsiasi, non necessariamente numerico) ed una o più operazioni definite sugli elementi appartenenti a tale insieme si definisce come Algebra l insieme formato da (E, op1, op2,, opn), dove per operazione definita su un insieme si intende che l operazione ha come sempre come risultato un valore che appartiene all insieme stesso. Ad esempio, se consideriamo l insieme N dei numeri interi positivi, la coppia (N, +) è una algebra, mentre non lo è la coppia (N,-). Nel caso di (N, +) l operazione somma applicata a due numeri interi positivi (o numeri naturali) restituisce sempre un numero intero e positivo (naturale), mentre se consideriamo (N,-) l operazione sottrazione non sempre restituisce un valore intero positivo (se il minuendo e maggiore del sottraendo il risultato non sarà più un numero naturale, ma sarà un numero relativo). Algebra Booleana L algebra booleana è un particolare tipo di algebra definita su un insieme di due soli elementi, che possono essere rappresentati in modi diversi ma dal significato equivalente. I due valori in questione sono 0 e 1. Esempi di possibili rappresentazioni dell insieme: {0, 1} {F, T} {Falso, Vero} Ecc. Allo 0 viene associato il significato di Falso e all 1 viene associato il significato di Vero (Vero e Falso vanno intesi nel senso matematico del termine, non nei termini del linguaggio comune anche se concettualmente sono la stessa cosa). Restano da definire le operazioni su questo insieme di valori: le tre principali operazioni sono AND OR NOT (congiunzione logica o prodotto logico) (disgiunzione logica o somma logica) (negazione logica) Definiamo ora il significato di queste operazioni. AND logico L operazione AND è una operazione binaria (con binaria si intende una operazione che richiede due operandi, come ad esempio la somma tra numeri naturali). Dati due valori booleani, l AND restituisce 1 se e solo se entrambi gli operandi sono 1, altrimenti il risultato è 0. Dato il numero finito di valori dell insieme su cui sono definiti questi operatori, è possibile per ciascuno di essi elencare in forma di tabella tutti i possibili casi che possono verificarsi. Tale tabella prende il nome di tabella di verità op1 op2 op1 AND op Pag. 1 di 15

2 Il significato della tabella è evidente: se volessimo calcolare 0 AND 0 o applichiamo la regola o prendiamo la riga in cui op 1 e op 2 sono entrambi a 0 ed il risultato sarà dato dal valore riportato nella terza colonna della riga. Quindi 0 AND 0=0. Dalla tabella di verità si deduce facilmente la ragione per la quale l AND viene anche chiamato prodotto logico. OR logico L operazione OR è anch essa una operazione binaria. Dati due valori booleani, l OR restituisce 1 se e solo se almeno uno dei due operandi vale 1, altrimenti il risultato è 0. Passiamo ad esaminare la tabella di verità corrispondente op 1 op 2 op 1 OR op Quindi se volessimo calcolare 1 OR 0, come nel caso dell AND, o applichiamo la regola o consideriamo la riga della tabella in cui op 1 è 1 e op 2 è 0, da cui si ottiene che il risultato è 1. NOT logico L operazione NOT è una operazione unaria (una operazione unaria è una operazione che richiede un solo operando). Dato un valore booleano, il NOT restituisce l altro valore: NOT 0=1 e NOT 1=0. La tabella di verità corrispondente è Op NOT op Espressioni Booleane Così come per i numeri, è possibile costruire espressioni a partire da lettere e operatori. Ad esempio, nel caso delle algebre su insiemi numerici, possiamo costruire monomi e polinomi: con il monomio xy intendiamo il risultato dell operazione prodotto del valore numerico rappresentato dalla lettera x per il valore numerico rappresentato dalla lettera y. Una espressione booleana la si costruisce nello stesso modo: - Le lettere rappresentano un generico valore booleano - l AND viene di solito omesso (come per il segno di prodotto nei monomi) - L OR viene indicato con il segno + - Per il NOT le notazioni sono varie, ad esempio si usa il segno ( a significa NOT a) oppure si mette un segno sopra la lettera o espressione su cui agisce il NOT ( significa NOT a) Gli operatori logici hanno, come gli operatori numerici, delle regole di precedenza: il Not ha precedenza massima, di seguito viene l AND e ultimo l OR. Esempio: Se scriviamo ab+bc, questa espressione booleana la sua corretta interpretazione è (a AND b)or(b AND c). N.B. Per alterare le regole di precedenza tra operatori booleani si utilizzano, come nel caso di espressioni numeriche, le parentesi. Pag. 2 di 15

3 Approfondimento Proprietà e teoremi dell Algebra di Boole Proprietà commutativa della somma e del prodotto Proprietà associativa della somma e del prodotto Proprietà distributiva del prodotto rispetto alla somma Proprietà distributiva della somma rispetto al prodotto Teoremi dell'unione Teoremi dell'intersezione Teoremi del complemento Teoremi dell'idempotenza Teoremi di De Morgan Teoremi dell'assorbimento Le proprietà ed i teoremi valgono (ovviamente) per qualsiasi valore assegnato alle variabili X, Y e Z. Si possono facilmente dimostrare a partire dalle tabelle di verità. Pag. 3 di 15

4 Valutazione di una espressione logica Una espressione logica si valuta tramite le tabelle di verità degli operatori. Vediamo, tramite un esempio, quale è la tecnica da utilizzare. Esempio: si vuole determinare la tabella di verità dell espressione ab+ Primo passo: - si determina il numero di variabili non ripetute presenti nell espressione. In questo caso ho tre variabili Secondo passo: - si costruisce una tabella elencando tutte le possibili combinazioni dei valori che le variabili possono assumere In questo caso specifico le variabili sono 3 (a, b e c) e quindi le possibili combinazioni saranno a b c A partire dai valori che possono assumere la variabili, si cominciano a valutare le espressioni secondo l ordine di precedenza degli operatori: a b c ab Applichiamo le regole dell AND per i valori della prima e seconda colonna e quindi a b c ab Applichiamo le regole del NOT per i valori della terza colonna Pag. 4 di 15

5 A questo punto siamo in grado di determinare, per ogni combinazione dei valori assunti dalle variabili dell espressione, il risultato a b c ab ab Applichiamo le regole dell OR per la quarta e quinta colonna Data una espressione booleana siamo ora in grado, costruendone la tabella di verità, di conoscere il valore restituito dall espressione, dati i valori assegnati alle variabili. Nell esempio appena visto, assegnati i valori a=0, b=1 e c=0 il valore restituito dall espressione ab+ è 0. Pag. 5 di 15

6 Espressioni booleane e linguaggio di programmazione VB.NET Le espressioni booleane sono utilizzate dai linguaggi di programmazione per prendere decisioni. I costrutti di programmazione in cui vengono utilizzate sono quelli di selezione e iterazione. Nel linguaggio VB.net il costrutto di selezione è l IF, che ha la seguente sintassi IF <condizione> THEN [ELSE ENDIF <comando1> <comando2>] Quando si parla di condizione, in molti linguaggi di programmazione, si intende una espressione che restituisce un valore booleano Vero o Falso (più correttamente True o False, dato che la quasi tutti i linguaggi sono stati progettati in inglese). Come è fatta allora una condizione? Partiamo dalle condizioni più semplici, cioè da una costante booleana. Esempio 1 IF true THEN <comando1> ENDIF IF true THEN <comando1> ELSE <comando2> ENDIF Senza entrare nel dettaglio del comando IF, è chiaro che, in entrambi i casi considerati, venga eseguito il comando1 (la valutazione di una costante ha come risultato la costante stessa!) Esempio 2 pippo=true.. IF pippo THEN <comando1> Endif.. pippo=true.. IF pippo THEN <comando1> Else <comando2> Endif La variabile pippo è di tipo booleano, e quindi, quando andiamo a valutare l espressione che determina la condizione dell IF, verrà eseguito il comando1 in quanto pippo è uguale a true (in entrambi gli IF). Pag. 6 di 15

7 Vediamo ora il caso di espressioni logiche espresse mediante predicati. I predicati che possono essere utilizzati per costruire una espressione avente come risultato un valore booleano sono: =, >=, <=, < > (nell ordine uguale, maggiore o uguale, minore o uguale, diverso) Quando si utilizzano questi predicati bisogna che i tipi delle espressioni che si vanno a confrontare siano compatibili True=a+2 è una espressione senza senso (confrontiamo un booleano con un numero) 2=5 è una espressione corretta (confrontiamo due numeri) La valutazione dell espressione in cui compare uno di questi predicati darà un risultato booleano True o False. Esempio a+b > c varrà True se il valore di a sommato al valore di b è maggiore del valore di c, altrimenti varrà False N.B. La valutazione di una espressione booleana NON comporta la modifica di alcuna delle variabili presenti nell espressione stessa Uso degli operatori logici E possibile l uso degli operatori logici AND, OR, NOT non solo con variabili booleane, ma anche con espressioni. Vediamo qualche esempio (per ipotesi le variabili tappo e pippo sono booleane, mentre a,b e c numeriche) tappo AND pippo (a+b > c) AND pippo (a+b=c) OR (b=c) vengono messi in AND i valori logici delle variabili tappo e pippo viene messo in AND il valore logico risultante dalla valutazione dell espressione a+b>c con il valore logico della variabile pippo viene messo in OR il valore logico risultante dalla valutazione dell espressione a+b=c con il valore logico risultante dalla valutazione di b=c Esempio 3 pippo=true a=2 b=3 IF pippo AND (b=a) THEN <comando1> Endif.. c=1 b=3 a=-1 IF (a=c)or b>0 THEN <comando1> Else <comando2> Endif Pag. 7 di 15

8 Il comando ELSEIF In VB.net, oltre che nel comando IFTHEN e IFTHENELSE, esiste la possibilità di concatenare più IF. Il comando in questione è strutturato in questo modo IF <condizione 1> THEN <comando 1> ELSEIF <condizione 2> THEN <comando 2> ELSEIF <condizione 3> THEN <comando 3>.. [ELSE <comando n>] ENDIF Bisogna fare attenzione ad usare questo costrutto. Il funzionamento è il seguente: si verificano le condizione nell ordine in cui queste sono scritte fino a quando se ne incontra una con valore logico TRUE. A questo punto viene eseguito il comando corrispondente e si passa all ENDIF. Questo implica che anche se possono essere presenti delle altre condizioni logiche vere (successive alla prima che ha valore logico true), queste non verranno valutate. La parte finale racchiusa tra parentesi quadre è opzionale, cioè può non essere presente. Esempio.. IF a=0 THEN a=a+1 ELSEIF a=0 OR b=1 THEN b=b+a ELSEIF b=1 THEN c=2 ENDIF In questo esempio se il valore di a è 0, verrà eseguita solo l istruzione a=a+1 e poi si passerà alla prima istruzione successiva a ENDIF. Si noti che nel caso esaminato anche la seconda condizione è vera, ma questa non verrà valutata. Si verifica la stessa cosa nel caso in cui a sia diversa da zero e b uguale ad 1: il comando eseguito sarà b=b+a e poi si passerà all istruzione successiva all ENDIF. Osservazione molto importante: NOT(a AND b) non è equivalente a (NOT a) AND (NOT b) Le espressioni logiche sono utilizzate, oltre che nell IF, anche nei cicli. Il Vb.NET mette a disposizione, oltre al FOR, altri quattro tipi di cicli il do whileloop, il do. loop while, il do until.loop, e il doloop until. Pag. 8 di 15

9 Il ciclo FOR Il ciclo for viene tipicamente utilizzato quando è noto a priori il numero di volte (o comunque il numero massimo) di volte che una sequenza di istruzioni deve essere eseguita. La sua sintassi è FOR <variabile contatore=valore iniziale> TO <valore limite> [STEP incremento] <istruzione 1> <istruzione n> NEXT [<variabile contatore>] /* Le parti inserite all interno delle parentesi quadre sono opzionali */ Vediamo un esempio: calcolo della somma dei primi 10 numeri interi ( ) cont è la variabile contatore, e in questo caso viene inizializzata a 1. DIM cont, somma AS INTEGER FOR TO 10 NEXT 10 è il valore limite N.B. L inizializzazione viene eseguita una volta sola Significato Incremento della variabile cont, e poi si torna al FOR 1) la variabile cont viene inizializzata a 1 2) il valore di cont viene confrontato con il valore limite (10 in questo caso) - se il valore di cont è maggiore di 10 (maggiore del valore limite) si esce dal FOR, cioè si passa ad eseguire l istruzione successiva al NEXT - se il valore di cont è invece minore o uguale a 10, si vanno ad eseguire le istruzioni interne del FOR (corpo del FOR). Si esegue quindi il passo 3) 3) esecuzione delle istruzioni del FOR 4) Quando si esegue l istruzione NEXT, la variabile contatore viene incrementata di una unità (nel caso in cui non si sia specificato alcuno STEP) e poi si va ad eseguire di nuovo il passo 2). Osservazioni a) E possibile definire un incremento diverso da 1. Nella sintassi del FOR, infatti si può osservare che vi è una parte opzionale (STEP). Se specificato, lo STEP (passo) definisce l incremento della variabile contatore da eseguire ogni volta che si esegue l istruzione NEXT Esempio: consideriamo un problema simile al precedente: vogliamo calcolare la somma dei valori interi pari compresi tra 1 e 10 ( ) Pag. 9 di 15

10 Possiamo anche questa volta usare il FOR, definendo un opportuno STEP DIM cont, somma AS INTEGER FOR cont=2 TO 10 STEP 2 NEXT b) Il valore iniziale, il valore limite e lo STEP non devono essere necessariamente delle costanti, ma possono anche essere delle espressioni c) Le istruzioni interne al ciclo FOR, dette corpo del FOR, possono anche non essere mai eseguite. Questo accadrà quando il valore limite specificato è minore del valore iniziale assegnato alla variabile contatore e non è specificato lo STEP Esempio: FOR 5 TO 10 NEXT In questo caso il corpo del FOR non verrà eseguito, perché 15 è maggiore di 10 Nel caso in cui si specifica un valore di STEP il discorso precedente non è, in generale, più valido. Esempio FOR 5 TO 10 STEP -1 NEXT In questo caso il corpo del FOR viene eseguito, in quanto lo STEP negativo significa che il FOR terminerà quando il valore di CONT sarà minore del valore limite I cicli DO WHILE e DO WHILE Il cicli WHILE eseguono una sequenza di istruzioni in base alla verifica di una condizione logica, non necessariamente numerica (e quindi non necessariamente si dovrà testare un contatore). Vediamo nel dettaglio le due istruzioni DO WHILE La sintassi del ciclo in questione è la seguente DO WHILE <condizione logica> <istruzione 1> <istruzione n> Pag. 10 di 15

11 Le istruzioni all interno del DO WHILE vengono eseguite finché la condizione logica è vera. Quando la condizione logica diventa falsa, si esce dal ciclo. In dettaglio: quando si entra nel DO WHILE si testa la condizione; se il risultato booleano è TRUE allora si eseguono le istruzioni del DO WHILE (corpo del WHILE). L istruzione forza il programma a tornare all istruzione DO WHILE, e quindi avverrà nuovamente il test per verificare se la condizione è TRUE o FALSE. Nel momento in cui la condizione diventa FALSE il ciclo terminerà e si passerà ad eseguire l istruzione successiva alla. Esempio A=1 B=10 DO WHILE A<B A=A+5 Condizione logica Corpo del WHILE Differenze con il FOR - La condizione è più generale, non legata all uso di contatori - L istruzione non esegue alcunché (a differenza della NEXT), ma forza solamente il programma a tornare ad eseguire di nuovo il test del WHILE - Nel caso in cui le istruzioni del corpo del WHILE non modifichino in alcun modo l espressione del test, è possibile che il ciclo non termini e di conseguenza il programma si blocca in ciclo infinito. Analogie con il FOR - Il ciclo DO WHILE, così come il ciclo FOR, potrà non essere mai eseguito. Questo accade nel caso in cui la condizione logica iniziale è falsa E sempre possibile, dato un comando FOR, costruire un comando WHILE equivalente. Non è vero, in generale, il contrario. Esempio: Somma dei primi 10 interi naturali ( ) FOR TO 10 DO WHILE cont<11 NEXT DO WHILE Il comando DO WHILE è simile al comando precedente. L unica differenza consiste nel fatto che mentre nel DO WHILE il test della condizione associata al WHILE viene eseguito all inizio del ciclo, in questo caso le istruzioni del ciclo saranno eseguite sempre almeno una volta. Inoltre, come nel comando precedente, il ciclo viene eseguito fino a quando la condizione espressa nel WHILE è vera; non appena il test dà valore falso, si esce dal ciclo e si passa ad eseguire l istruzione successiva. Pag. 11 di 15

12 La sintassi del ciclo in questione è la seguente DO <istruzione 1> <istruzione n> WHILE <condizione logica> Esempio: Somma dei primi 10 interi naturali ( ) Confronto tra WHILE e WHILE DO DO WHILE cont<11 WHILE cont<11 In conclusione la scelta di utilizzare il DO WHILE o il DO WHILE è indifferente solo nel caso in cui si abbia la certezza che il ciclo da codificare venga effettuato almeno una volta. Per quanto riguarda l equivalenza con il ciclo FOR vale quanto detto in precedenza per il ciclo DO WHILE, con la differenza che nel caso il ciclo non debba essere mai eseguito bisognerà utilizzare necessariamente un IF esterno da cui far dipendere l esecuzione del ciclo. In entrambi i comandi, per forzare l uscita dal ciclo, è possibile utilizzare l istruzione EXIT DO. I cicli DO UNTIL e DO UNTIL Il cicli UNTIL, così come i cicli WHILE, eseguono una sequenza di istruzioni in base alla verifica di una condizione logica, non necessariamente numerica. Esaminiamone ora la sintassi. DO UNTIL La sintassi del ciclo in questione è la seguente DO UNTIL <condizione logica> <istruzione 1> <istruzione n> Le istruzioni all interno del ciclo DO UNTIL vengono eseguite fintantoché la condizione logica è falsa. Quando la condizione espressa diventa vera si uscirà dal ciclo. Inoltre, come nel caso del WHILE, non è necessario effettuare test con contatore e sarà sempre possibile scrivere il codice equivalente per un FOR. E Pag. 12 di 15

13 anche possibile, come per il FOR, che i comandi del ciclo non vengano mai eseguiti, nel caso in cui la condizione d testare sia vera. Esempio: Somma dei primi 10 interi naturali ( ) Confronto tra implementazioni (FOR, DO WHILE e DO UNTIL) FOR TO 10 NEXT DO WHILE cont<11 DO UNTIL cont>10 Osservazione: Così come nei cicli WHILE la condizione da verificare non è vincolata al test di un contatore. DO UNTIL Il comando DO UNTIL è simile al comando precedente, con l unica differenza che mentre nel comando precedente il test della condizione associata all UNTIL veniva eseguito all inizio del ciclo, le istruzioni del ciclo saranno eseguite almeno una volta. Inoltre, come nel comando precedente, il ciclo viene eseguito fino a quando la condizione espressa nell UNTIL diventa vera. La sintassi del ciclo in questione è la seguente DO <istruzione 1> <istruzione n> UNTIL <condizione logica> Esempio: Somma dei primi 10 interi naturali ( ). Confronto tra implementazione mediante DO UNTIL e DO UNTIL DO UNTIL cont > 10 DO UNTIL cont>10 Osservazione: anche per i cicli UNTIL vale quanto detto per i cicli espressi con il WHILE: la scelta di adottare uno dei due è indifferente solo nel caso in cui si è certi che l iterazione viene eseguita almeno un volta. Pag. 13 di 15

14 Vediamo ora in una unica tabella raissuntiva tutte le codifiche equivalenti dello stesso esempio proposto: somma dei primi 10 numeri interi ( ) FOR TO 10 NEXT DO WHILE cont<11 DO WHILE cont<11 DO UNTIL cont>10 DO UNTIL cont>10 Conclusioni Esiste anche un altro ciclo in Vb.net mantenuto per compatibilità con VB 6, che è equivalente al do while..loop e che ha una sintassi leggermente differente ma il cui comportamento è pressoché lo stesso. E inoltre molto importante sottolineare che non ci sono restrizioni alla tipologia di comandi che possono far parte del corpo di un ciclo, e quindi potremo definire cicli annidati (l uno dentro l altro, non necessariamente dello stesso tipo). Questa necessità è più comune di quanto si possa credere (si pensi ad esempio agli ordinamenti in cui si hanno due cicli annidati). Pag. 14 di 15

15 Tabella Riassuntiva per i cicli vb.net FOR DO WHILE DO WHILE DO UNTIL DO UNTIL Condizione Test Contatore Espr. logica qualsiasi Espr. logica qualsiasi Espr. logica qualsiasi Espr. logica qualsiasi Ciclo eseguito almeno una volta No No Si No Si Uscita dal ciclo Contatore > Limite Contatore < Limite (in funzione dello STEP) Espr logica=false Espr logica=false Espr logica=true Espr logica=true Possibilità di avere un ciclo infinito No (*) Si Si Si Si Istruzione per uscita forzata dal ciclo EXIT FOR EXIT DO EXIT DO EXIT DO EXIT DO (*) In effetti è possibile che anche il ciclo FOR sia infinito, se nelle istruzioni del ciclo si effettuano modifiche alla variabile contatore. Pag. 15 di 15

Algebra di Boole. Le operazioni, nell algebra booleana sono basate su questi tre operatori: AND ( ), OR ( + ),NOT ( )

Algebra di Boole. Le operazioni, nell algebra booleana sono basate su questi tre operatori: AND ( ), OR ( + ),NOT ( ) Algebra di Boole L algebra di Boole prende il nome da George Boole, matematico inglese (1815-1864), che pubblicò un libro nel 1854, nel quale vennero formulati i principi dell'algebra oggi conosciuta sotto

Dettagli

ALGEBRA DELLE PROPOSIZIONI

ALGEBRA DELLE PROPOSIZIONI Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra

Dettagli

Calcolatori: Algebra Booleana e Reti Logiche

Calcolatori: Algebra Booleana e Reti Logiche Calcolatori: Algebra Booleana e Reti Logiche 1 Algebra Booleana e Variabili Logiche I fondamenti dell Algebra Booleana (o Algebra di Boole) furono delineati dal matematico George Boole, in un lavoro pubblicato

Dettagli

Algebra di Boole ed Elementi di Logica

Algebra di Boole ed Elementi di Logica Algebra di Boole ed Elementi di Logica 53 Cenni all algebra di Boole L algebra di Boole (inventata da G. Boole, britannico, seconda metà 8), o algebra della logica, si basa su operazioni logiche Le operazioni

Dettagli

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE Andrea Bobbio Anno Accademico 2000-2001 Algebra Booleana 2 Calcolatore come rete logica Il calcolatore può essere visto come una rete logica

Dettagli

Alcune nozioni di base di Logica Matematica

Alcune nozioni di base di Logica Matematica Alcune nozioni di base di Logica Matematica Ad uso del corsi di Programmazione I e II Nicola Galesi Dipartimento di Informatica Sapienza Universitá Roma November 1, 2007 Questa é una breve raccolta di

Dettagli

DAL DIAGRAMMA AL CODICE

DAL DIAGRAMMA AL CODICE DAL DIAGRAMMA AL CODICE Un diagramma di flusso Appare, come un insieme di blocchi di forme diverse che contengono le istruzioni da eseguire, collegati fra loro da linee orientate che specificano la sequenza

Dettagli

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012 Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012 Concetti importanti da (ri)vedere Programmazione imperativa Strutture di

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Algebra booleana. Si dice enunciato una proposizione che può essere soltanto vera o falsa.

Algebra booleana. Si dice enunciato una proposizione che può essere soltanto vera o falsa. Algebra booleana Nel lavoro di programmazione capita spesso di dover ricorrere ai principi della logica degli enunciati e occorre conoscere i concetti di base dell algebra delle proposizioni. L algebra

Dettagli

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base: LA STRUTTURA DI RIPETIZIONE La ripetizione POST-condizionale La ripetizione PRE-condizionale INTRODUZIONE (1/3) Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto

Dettagli

Gli algoritmi: definizioni e proprietà

Gli algoritmi: definizioni e proprietà Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Gli algoritmi: definizioni e proprietà La presente dispensa e da

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense Linguaggio del calcolatore Circuiti e reti combinatorie ppendice + dispense Solo assenza o presenza di tensione: o Tante componenti interconnesse che si basano su e nche per esprimere concetti complessi

Dettagli

Descrizione di un algoritmo

Descrizione di un algoritmo Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica

Dettagli

Lezioni di Matematica 1 - I modulo

Lezioni di Matematica 1 - I modulo Lezioni di Matematica 1 - I modulo Luciano Battaia 16 ottobre 2008 Luciano Battaia - http://www.batmath.it Matematica 1 - I modulo. Lezione del 16/10/2008 1 / 13 L introduzione dei numeri reali si può

Dettagli

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

Dettagli

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali a Visual Basic Lezione 1 Concetti base e istruzioni condizionali Mario Alviano Introduzione all informatica Università della Calabria http://alviano.net/introinfo A.A. 2008/09 Introduzione Un esempio:

Dettagli

Esercitazione Informatica I AA 2012-2013. Nicola Paoletti

Esercitazione Informatica I AA 2012-2013. Nicola Paoletti Esercitazione Informatica I AA 2012-2013 Nicola Paoletti 4 Gigno 2013 2 Conversioni Effettuare le seguenti conversioni, tenendo conto del numero di bit con cui si rappresenta il numero da convertire/convertito.

Dettagli

ESEMPIO 1: eseguire il complemento a 10 di 765

ESEMPIO 1: eseguire il complemento a 10 di 765 COMPLEMENTO A 10 DI UN NUMERO DECIMALE Sia dato un numero N 10 in base 10 di n cifre. Il complemento a 10 di tale numero (N ) si ottiene sottraendo il numero stesso a 10 n. ESEMPIO 1: eseguire il complemento

Dettagli

Appunti di informatica. Lezione 2 anno accademico 2015-2016 Mario Verdicchio

Appunti di informatica. Lezione 2 anno accademico 2015-2016 Mario Verdicchio Appunti di informatica Lezione 2 anno accademico 2015-2016 Mario Verdicchio Sistema binario e logica C è un legame tra i numeri binari (0,1) e la logica, ossia la disciplina che si occupa del ragionamento

Dettagli

Esempi di algoritmi. Lezione III

Esempi di algoritmi. Lezione III Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

Operatori logici e porte logiche

Operatori logici e porte logiche Operatori logici e porte logiche Operatori unari.......................................... 730 Connettivo AND........................................ 730 Connettivo OR..........................................

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

Alessandro Pellegrini

Alessandro Pellegrini Esercitazione sulle Rappresentazioni Numeriche Esistono 1 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono Alessandro Pellegrini Cosa studiare prima Conversione

Dettagli

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno UD 3.1b: Costrutti di un Algoritmo Dispense 1.2 I Costrutti di base 13 apr 2010

Dettagli

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente. Algoritmo Formalmente, per algoritmo si intende una successione finita di passi o istruzioni che definiscono le operazioni da eseguire su dei dati (=istanza del problema): in generale un algoritmo è definito

Dettagli

Algebra Di Boole. Definiamo ora che esiste un segnale avente valore opposto di quello assunto dalla variabile X.

Algebra Di Boole. Definiamo ora che esiste un segnale avente valore opposto di quello assunto dalla variabile X. Algebra Di Boole L algebra di Boole è un ramo della matematica basato sul calcolo logico a due valori di verità (vero, falso). Con alcune leggi particolari consente di operare su proposizioni allo stesso

Dettagli

Comparatori. Comparatori di uguaglianza

Comparatori. Comparatori di uguaglianza Comparatori Scopo di un circuito comparatore é il confronto tra due codifiche binarie. Il confronto può essere effettuato per verificare l'uguaglianza oppure una relazione d'ordine del tipo "maggiore",

Dettagli

SISTEMI DI NUMERAZIONE E CODICI

SISTEMI DI NUMERAZIONE E CODICI SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema

Dettagli

Il principio di induzione e i numeri naturali.

Il principio di induzione e i numeri naturali. Il principio di induzione e i numeri naturali. Il principio di induzione è un potente strumento di dimostrazione, al quale si ricorre ogni volta che si debba dimostrare una proprietà in un numero infinito

Dettagli

Matematica in laboratorio

Matematica in laboratorio Unità 1 Attività guidate Attività 1 Foglio elettronico Divisibilità tra numeri naturali Costruisci un foglio di lavoro per determinare se a è divisibile per b, essendo a e b due numeri naturali, con a

Dettagli

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica

Dettagli

Testi di Esercizi e Quesiti 1

Testi di Esercizi e Quesiti 1 Architettura degli Elaboratori, 2009-2010 Testi di Esercizi e Quesiti 1 1. Una rete logica ha quattro variabili booleane di ingresso a 0, a 1, b 0, b 1 e due variabili booleane di uscita z 0, z 1. La specifica

Dettagli

1. PRIME PROPRIETÀ 2

1. PRIME PROPRIETÀ 2 RELAZIONI 1. Prime proprietà Il significato comune del concetto di relazione è facilmente intuibile: due elementi sono in relazione se c è un legame tra loro descritto da una certa proprietà; ad esempio,

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Arduino: Programmazione

Arduino: Programmazione Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite

Dettagli

Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini

Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini Introduzione all utilizzo di Visual Basic for Application Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini PROGRAMMAZIONE Insieme delle attività da svolgersi per creare

Dettagli

Codifica binaria e algebra di Boole

Codifica binaria e algebra di Boole Codifica binaria e algebra di Boole Corso di Programmazione A.A. 2008/09 G. Cibinetto Contenuti della lezione Codifica binaria dell informazione Numeri naturali, interi, frazionari, in virgola mobile Base

Dettagli

Dispensa del corso di Informatica

Dispensa del corso di Informatica Dispensa 6-Boolean 1 Algebra Booleana Dispensa del corso di Informatica La logica George Boole (1815 1864) è stato un matematico e logico britannico, ed è considerato il padre fondatore della logica matematica.

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Fondamenti di calcolo booleano

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Fondamenti di calcolo booleano Breve introduzione storica Nel 1854, il prof. Boole pubblica un trattato ormai famosissimo: Le leggi del pensiero. Obiettivo finale del trattato è di far nascere la matematica dell intelletto umano, un

Dettagli

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza Il problema di flusso di costo minimo (MCF) Dati : grafo orientato G = ( N, A ) i N, deficit del nodo i : b i (i, j) A u ij, capacità superiore (max quantità di flusso che può transitare) c ij, costo di

Dettagli

Variabili e tipi di dato

Variabili e tipi di dato Variabili e tipi di dato Tutte le variabili devono essere dichiarate, specificandone il tipo La dichiarazione deve precedere l uso Il tipo è un concetto astratto che esprime: L allocazione di spazio per

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/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

Dettagli

Cenni su algoritmi, diagrammi di flusso, strutture di controllo

Cenni su algoritmi, diagrammi di flusso, strutture di controllo Cenni su algoritmi, diagrammi di flusso, strutture di controllo Algoritmo Spesso, nel nostro vivere quotidiano, ci troviamo nella necessità di risolvere problemi. La descrizione della successione di operazioni

Dettagli

Codifica binaria dei numeri relativi

Codifica binaria dei numeri relativi Codifica binaria dei numeri relativi Introduzione All interno di un calcolatore, è possibile utilizzare solo 0 e 1 per codificare qualsiasi informazione. Nel caso dei numeri, non solo il modulo ma anche

Dettagli

Matematica Computazionale Lezione 4: Algebra di Commutazione e Reti Logiche

Matematica Computazionale Lezione 4: Algebra di Commutazione e Reti Logiche Matematica Computazionale Lezione 4: Algebra di Commutazione e Reti Logiche Docente: Michele Nappi mnappi@unisa.it www.dmi.unisa.it/people/nappi 089-963334 ALGEBRA DI COMMUTAZIONE Lo scopo di questa algebra

Dettagli

Introduzione ai Metodi Formali

Introduzione ai Metodi Formali Intruzione ai Meti Formali Sistemi software anche molto complessi regolano la vita quotidiana, anche in situazioni life-critical (e.g. avionica) e business-critical (e.g. operazioni bancarie). Esempi di

Dettagli

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 I CODICI 1 IL CODICE BCD 1 Somma in BCD 2 Sottrazione BCD 5 IL CODICE ECCESSO 3 20 La trasmissione delle informazioni Quarta Parte I codici Il codice BCD

Dettagli

I sistemi di numerazione

I sistemi di numerazione I sistemi di numerazione 01-INFORMAZIONE E SUA RAPPRESENTAZIONE Sia dato un insieme finito di caratteri distinti, che chiameremo alfabeto. Utilizzando anche ripetutamente caratteri di un alfabeto, si possono

Dettagli

Semantica Assiomatica

Semantica Assiomatica Semantica Assiomatica Anche nella semantica assiomatica, così come in quella operazionale, il significato associato ad un comando C viene definito specificando la transizione tra stati (a partire, cioè,

Dettagli

10 - Programmare con gli Array

10 - Programmare con gli Array 10 - Programmare con gli Array 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

Fondamenti di Informatica 2. Le operazioni binarie

Fondamenti di Informatica 2. Le operazioni binarie Corso di per il corso di Laurea di Ingegneria Gestionale Le operazioni binarie Università degli Studi di Udine - A.A. 2010-2011 Docente Ing. Sandro Di Giusto Ph.D. 1 L'algebra binaria Il fatto di aver

Dettagli

GESTIONE INFORMATICA DEI DATI AZIENDALI

GESTIONE INFORMATICA DEI DATI AZIENDALI GESTIONE INFORMATICA DEI DATI AZIENDALI Alberto ZANONI Centro Vito Volterra Università Tor Vergata Via Columbia 2, 00133 Roma, Italy zanoni@volterra.uniroma2.it Rudimenti di programmazione Programming

Dettagli

I.I.S. Primo Levi Badia Polesine A.S. 2012-2013

I.I.S. Primo Levi Badia Polesine A.S. 2012-2013 LGEBR DI BOOLE I.I.S. Primo Levi Badia Polesine.S. 2012-2013 Nel secolo scorso il matematico e filosofo irlandese Gorge Boole (1815-1864), allo scopo di procurarsi un simbolismo che gli consentisse di

Dettagli

APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL

APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL In informatica il Pascal è un linguaggio di programmazione creato da Niklaus Wirth ed é un linguaggio di programmazione strutturata. I linguaggi di programmazione

Dettagli

Richiesta pagina PHP (es: index.php)

Richiesta pagina PHP (es: index.php) PHP PHP = personal home page SERVER Richiesta pagina PHP (es: index.php) Server Web (Apache) in ascolto sulla porta 80, si accorge che la pagina richiesta è una pagina PHP in base all'estensione o con

Dettagli

Appunti di Sistemi Elettronici

Appunti di Sistemi Elettronici Prof.ssa Maria Rosa Malizia 1 LA PROGRAMMAZIONE La programmazione costituisce una parte fondamentale dell informatica. Infatti solo attraverso di essa si apprende la logica che ci permette di comunicare

Dettagli

MAPPE DI KARNAUGH. Nei capitoli precedenti si è visto che è possibile associare un circuito elettronico o elettrico ad una funzione logica.

MAPPE DI KARNAUGH. Nei capitoli precedenti si è visto che è possibile associare un circuito elettronico o elettrico ad una funzione logica. MAPPE DI KARNAUGH 1. Generalità Nei capitoli precedenti si è visto che è possibile associare un circuito elettronico o elettrico ad una funzione logica. E ovvio che più semplice è la funzione e più semplice

Dettagli

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto: Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante

Dettagli

Rappresentazione dei numeri in un calcolatore

Rappresentazione dei numeri in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri

Dettagli

Visual Basic.NET La Gestione degli Errori di Federico BARBATI

Visual Basic.NET La Gestione degli Errori di Federico BARBATI Generalità Visual Basic.NET La Gestione degli Errori di Federico BARBATI La gestione degli errori, è una parte fondamentale di un codice ben progettato. Fino ad oggi, gli errori nelle applicazioni scritte

Dettagli

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

PROVA INTRACORSO TRACCIA A Pagina 1 di 6 PROVA INTRACORSO DI ELEMENTI DI INFORMATICA MATRICOLA COGNOME E NOME TRACCIA A DOMANDA 1 Calcolare il risultato delle seguenti operazioni binarie tra numeri interi con segno rappresentati in complemento

Dettagli

Grandezze scalari e vettoriali

Grandezze scalari e vettoriali Grandezze scalari e vettoriali Esempio vettore spostamento: Esistono due tipi di grandezze fisiche. a) Grandezze scalari specificate da un valore numerico (positivo negativo o nullo) e (nel caso di grandezze

Dettagli

4. Operazioni aritmetiche con i numeri binari

4. Operazioni aritmetiche con i numeri binari I Numeri Binari 4. Operazioni aritmetiche con i numeri binari Contare con i numeri binari Prima di vedere quali operazioni possiamo effettuare con i numeri binari, iniziamo ad imparare a contare in binario:

Dettagli

UNIVERSITÀ DEGLI STUDI DI TERAMO

UNIVERSITÀ DEGLI STUDI DI TERAMO UNIVERSITÀ DEGLI STUDI DI TERAMO CORSO DI LAUREA IN ECONOMIA BANCARIA FINANZIARIA ED ASSICURATIVA (Classe 7) Corso di Matematica per l Economia (Prof. F. Eugeni) TEST DI INGRESSO Teramo, ottobre 00 SEZIONE

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Laboratorio di Informatica Introduzione a Python Dottore Paolo Parisen Toldin - parisent@cs.unibo.it Argomenti trattati Che cosa è python Variabili Assegnazione Condizionale Iterazione in una lista di

Dettagli

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Architettura del Calcolatore Macchina di von Neumann Il calcolatore moderno è basato su un architettura

Dettagli

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

Informatica. Rappresentazione dei numeri Numerazione binaria

Informatica. Rappresentazione dei numeri Numerazione binaria Informatica Rappresentazione dei numeri Numerazione binaria Sistemi di numerazione Non posizionali: numerazione romana Posizionali: viene associato un peso a ciascuna posizione all interno della rappresentazione

Dettagli

Le funzioni continue. A. Pisani Liceo Classico Dante Alighieri A.S. 2002-03. A. Pisani, appunti di Matematica 1

Le funzioni continue. A. Pisani Liceo Classico Dante Alighieri A.S. 2002-03. A. Pisani, appunti di Matematica 1 Le funzioni continue A. Pisani Liceo Classico Dante Alighieri A.S. -3 A. Pisani, appunti di Matematica 1 Nota bene Questi appunti sono da intendere come guida allo studio e come riassunto di quanto illustrato

Dettagli

Applicazioni lineari

Applicazioni lineari Applicazioni lineari Esempi di applicazioni lineari Definizione. Se V e W sono spazi vettoriali, una applicazione lineare è una funzione f: V W tale che, per ogni v, w V e per ogni a, b R si abbia f(av

Dettagli

Elementi di Algebra Relazionale

Elementi di Algebra Relazionale Note dalle lezioni di INFORMATICA (per gli allievi della classe quinta - indirizzo MERCURIO) Elementi di Algebra Relazionale prof. Stefano D.L.Campanozzi I.T.C. Giulio Cesare Bari - a.s. 2008-2009 1 Introduzione

Dettagli

Esercizi Capitolo 6 - Alberi binari di ricerca

Esercizi Capitolo 6 - Alberi binari di ricerca Esercizi Capitolo 6 - Alberi binari di ricerca Alberto Montresor 23 settembre 200 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile

Dettagli

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010 elementi di teoria dei grafi anno acc. 2009/2010 Grafi semplici Un grafo semplice G è una coppia ordinata (V(G), L(G)), ove V(G) è un insieme finito e non vuoto di elementi detti vertici o nodi di G, mentre

Dettagli

Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione

Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione basata sul campo d utilizzo. I principali package sono:

Dettagli

Matlab: Strutture di Controllo. Informatica B

Matlab: Strutture di Controllo. Informatica B Matlab: Strutture di Controllo Informatica B Tipo di dato logico È un tipo di dato che può avere solo due valori true (vero) 1 false (falso) 0 I valori di questo tipo possono essere generati direttamente

Dettagli

4. Operazioni elementari per righe e colonne

4. Operazioni elementari per righe e colonne 4. Operazioni elementari per righe e colonne Sia K un campo, e sia A una matrice m n a elementi in K. Una operazione elementare per righe sulla matrice A è una operazione di uno dei seguenti tre tipi:

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

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi

Dettagli

La programmazione. Sviluppo del software

La programmazione. Sviluppo del software La programmazione problema Sviluppo del software idea (soluzione informale) algoritmo (soluzione formale) programma (traduzione dell algoritmo in una forma comprensibile da un elaboratore elettronico)

Dettagli

Soluzione dell esercizio del 12 Febbraio 2004

Soluzione dell esercizio del 12 Febbraio 2004 Soluzione dell esercizio del 12/2/2004 1 Soluzione dell esercizio del 12 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. 2. Modello concettuale

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

Cap. 3 Reti combinatorie: analisi e sintesi operatori logici e porte logiche

Cap. 3 Reti combinatorie: analisi e sintesi operatori logici e porte logiche Cap. 3 Reti combinatorie: analisi e sintesi operatori logici e porte logiche 3.1 LE PORTE LOGICHE E GLI OPERATORI ELEMENTARI 3.2 COMPORTAMENTO A REGIME E IN TRANSITORIO DEI CIRCUITI COMBINATORI I nuovi

Dettagli

Algoritmi e strutture dati. Codici di Huffman

Algoritmi e strutture dati. Codici di Huffman Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per

Dettagli

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7 Il trattamento dei dati database: il linguaggio SQL seconda parte Prof. Valle D.ssa Folgieri Lez9 15.11.06 Trattamento dati. Database: il

Dettagli

La selezione binaria

La selezione binaria Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Introduzione L esecuzione di tutte le istruzioni in sequenza può non è sufficiente per

Dettagli

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo Logica Numerica Approfondimento E. Barbuto Minimo Comune Multiplo e Massimo Comun Divisore Il concetto di multiplo e di divisore Considerato un numero intero n, se esso viene moltiplicato per un numero

Dettagli

Utilizzo I mintermini si usano quando si considererà la funzione di uscita Q come Somma di Prodotti (S. P.) ossia OR di AND.

Utilizzo I mintermini si usano quando si considererà la funzione di uscita Q come Somma di Prodotti (S. P.) ossia OR di AND. IPSI G. Plana Via Parenzo 46, Torino efinizione di Mintermine onsiderata una qualunque riga della tabella di verità in cui la funzione booleana di uscita Q vale, si definisce mintermine il prodotto logico

Dettagli

13. Campi vettoriali

13. Campi vettoriali 13. Campi vettoriali 1 Il campo di velocità di un fluido Il concetto di campo in fisica non è limitato ai fenomeni elettrici. In generale il valore di una grandezza fisica assegnato per ogni punto dello

Dettagli

regola(1,[e,f],b) regola(2,[m,f],e) regola(3,[m],f) regola(4,[b,f],g) regola(5,[b,g],c) regola(6,[g,q],a)

regola(1,[e,f],b) regola(2,[m,f],e) regola(3,[m],f) regola(4,[b,f],g) regola(5,[b,g],c) regola(6,[g,q],a) ESERCIZIO1 PREMESSA Per risolvere problemi spesso esistono delle regole che, dai dati del problema, permettono di calcolare o dedurre la soluzione. Questa situazione si può descrivere col termine regola(,

Dettagli

Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005. Lezione 11

Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005. Lezione 11 Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005 Docente: Ugo Vaccaro Lezione 11 In questa lezione vedremo alcune applicazioni della tecnica greedy al progetto di algoritmi on-line. Vediamo

Dettagli

Teoria degli insiemi

Teoria degli insiemi Teoria degli insiemi pag 1 Easy Matematica di dolfo Scimone Teoria degli insiemi Il concetto di insieme si assume come primitivo, cioè non riconducibile a concetti precedentemente definiti. Sinonimi di

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

CONCETTO DI LIMITE DI UNA FUNZIONE REALE

CONCETTO DI LIMITE DI UNA FUNZIONE REALE CONCETTO DI LIMITE DI UNA FUNZIONE REALE Il limite di una funzione è uno dei concetti fondamentali dell'analisi matematica. Tramite questo concetto viene formalizzata la nozione di funzione continua e

Dettagli

EXCEL FUNZIONI PRINCIPALI

EXCEL FUNZIONI PRINCIPALI EXCEL FUNZIONI PRINCIPALI Funzione SE() Sintassi: SE(VERIFICA, VALORE SE VERO, VALORE SE FALSO): verifica un valore e ritorna una risposta in base al risultato vero/falso Esempio: =SE(A2=15; "OK"; "NO")

Dettagli