Prepara gli esami con i nostri Tutor Online prova gratis

Fondamenti di Informatica, Dispense, Dispense di Informatica. Università di Sassari

Informatica

Descrizione: Fondamenti informatica dispense parte 1
Mostro le pagine  1  -  2  di  62
La preview di questo documento finisce qui| Per favore o per leggere il documento completo o scaricarlo.
Informazioni sul documento
Caricato da: tore90
Visite: 1000+
Downloads : 5
Universita: Università di Sassari
Indirizzo: Economia
Materia: Informatica
Tags: 1
Data di caricamento: 27/09/2010
Incorpora questo documento nel tuo sito web:
Microsoft PowerPoint - Fondamenti di Informatica 07-08 Modulo 1.ppt

A.A. 2007-2008

Facoltà di Economia

Fondamenti di Informatica (modulo 1)

Enrico Grosso

DEIR - Università di Sassari Via Torre Tonda, 34

grosso@uniss.it 079- 2017319 329-2104390

Fondamenti di informatica 2

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Informazioni essenziali

Docente: Enrico Grosso

Ufficio: presso DEIR – via Torre Tonda 34, Sassari Telefono: 079 2017.319 e-mail: grosso@uniss.it

Ricevimento: durante il semestre di lezione:

Lunedi dalle 15.00 alle 18.30 Su appuntamento concordato via posta elettronica

dopo il semestre di lezione Su appuntamento concordato via posta elettronica

Fondamenti di informatica 3

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Informazioni essenziali

Modalità d’esame: In due fasi, da sostenere nello stesso giorno

1. Prova scritta (18÷21 punti): esercizio di laboratorio Codice java Diagrammi a blocchi

2. Prova orale (-3÷10 punti): discussione su tutti gli argomenti del corso

NOTA La prova orale si sostiene immediatamente dopo la prova scritta, a condizione di aver ottenuto almeno 18 punti.

Fondamenti di informatica 4

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Informazioni essenziali

Lezioni: Come da orario ufficiale (sito di Facoltà), con suddivisione

in gruppi, in ordine alfabetico. Per i frequentanti di anni successivi al primo inserimento

concordato in relazione ad esigenze d’orario. ATTENZIONE! Fortemente consigliata la frequenza

Appelli : Come da calendario ufficiale (sito di Facoltà), con

iscrizione telematica. 9 giugno, 23 giugno, 7 luglio 15 settembre Tre appelli della sessione invernale ancora da fissare

Fondamenti di informatica 5

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Informazioni essenziali

Tutoraggio informatico: Durante le esercitazioni A partire da fine marzo un pomeriggio di laboratorio aperto

ogni due settimane

Varie: Arrivare in orario alla lezione Spegnere il telefono Prendere appunti Utilizzare bene il sito di Facoltà

Studiare Studiare Studiare Studiare …..

Fondamenti di informatica 6

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Informazioni essenziali

STRUTTURA DEL CURRICULUM informatico:

Libero: Informatica per l’economia e la finanza (5CFU) Obbligatorio: Fondamenti di informatica (5CFU)

ECONOMIA E IMP. DEL TURISMO

ECONOMIA AZIENDALEECONOMIA

Sistemi informativi d’impresa (5CFU)

Sistemi informatici di rete (5CFU)

Sistemi informatici di rete (5CFU)

Sicurezza delle transazioni

telematiche (5CFU)

Obbligatorio: Basi di dati (5CFU)

CONSULENZA E DIREZIONE AZIENDALE

ECONOMIA E NUOVE TECNOLOGIE

Fondamenti di informatica 7

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Programma

MODULO 1 – FONDAMENTI

Rappresentazione delle informazioni (4h) Sistemi numerici, rappresentazione dei numeri, caratteri, codici, espressioni logiche, principali strutture dati

Architettura dei sistemi di elaborazione (2h) Strutture a bus e interconnessione di unita` elementari, unita` di controllo, unita` di ingresso/uscita, memorie, architetture tipiche dei sistemi gestionali

Software di sistema (4h) Componenti di un sistema operativo, processi, gestione della memoria, uso e interpretazione di comandi fondamentali, memorizzazione delle informazioni

Fondamenti di informatica 8

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Programma

MODULO 2 – ELEMENTI DI PROGRAMMAZIONE

Fondamenti (4h LAB)

Ambienti di programmazione, linguaggi di programmazione, compilatori e interpreti, algoritmi.

Programmazione in linguaggio JAVA (16h LAB)

Elementi base del linguaggio, strutture dati, strutture di controllo, trattamento di dati numerici e caratteri, semplici interfacce grafiche per l'utente, trattamento di dati organizzati.

Fondamenti di informatica 9

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Testi di riferimento

Riassuntivo E. Grosso, M. Bicego , Fondamenti di informatica per l’università, Giappichelli, 2007

Fondamenti J. Glenn Brookshear, Computer Science : An Overview (9th edition ) Addison-Wesley, 2006

Programmazione Cay Horstmann, Concetti di informatica e fondamenti di Java (Terza edizione) Apogeo, 2005

Fondamenti di informatica 10

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Rappresentazione delle informazioni

Informatica Scienza che si occupa dell’elaborazione dei dati in forma

AUTOMATICA Studio teorico del funzionamento dei calcolatori

Ingegneria informatica Progetto e realizzazione di impianti o i sistemi informatici Costruzione di calcolatori Programmazione di base dei calcolatori

L’informatica è ormai uno strumento fondamentale di lavoro. Corsi di informatica sono comuni a numerosi curricula.

Fondamenti di informatica 11

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Rappresentazione delle informazioni

Informazione

entità che può contribuire ad una riduzione dell’incertezza

le informazioni non sono entità fisiche; esse possono essere create (ad esempio scrivendo qualcosa su un foglio di carta) trasmesse (ad esempio inviando via fax il foglio) distrutte (distruggendo il foglio).

La conservazione o la trasmissione delle informazioni implica l’esistenza un supporto fisico adeguato (il foglio di carta)

I calcolatori forniscono supporti di memorizzazione che possono assumere solo due stati: la quantità di informazione memorizzata su un singolo dispositivo a due stati è chamata bit (binary digit)

Fondamenti di informatica 12

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Rappresentazione delle informazioni

Per essere manipolata da un calcolatore ogni tipo di informazione deve essere codificata in forma binaria

L’alfabeto binario

L’alfabeto binario si basa sui due simboli 0 e 1 Un insieme ordinato di 8 simboli e` detto BYTE Un insieme di piu` byte e` detto WORD (parola) BYTE e WORD contengono i più diversi tipi di

informazione in forma binaria

Fondamenti di informatica 13

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Rappresentazione delle informazioni

La rappresentazione dei numeri nei calcolatori

Numeri binari puri

Una cifra binaria e` detta BIT (binary digit) Un numero binario e` una sequenza di bit, ad

esempio:

10010101

Il valore del numero si calcola come:

1x27 + 0x26 + 0x25 + 1x24 + 0x23 + 1x22 + 0x21 +1x20= 1x128 + 0x64 + 0x32 + 1x16 + 0x8 + 1x4 + 0x2 +1x1

Fondamenti di informatica 14

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Rappresentazione delle informazioni

Numeri interi in modulo e segno

il primo bit rappresenta il segno I restanti bit il valore assoluto Esempio:

0 0 0 0 1 1 1 0 = +14 1 0 0 0 1 1 1 0 = - 14

10000010

-2

10000001

-1

10000000 00000000

0

00000001

1

00000010

2

Fondamenti di informatica 15

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Numeri interi in complemento a 1 i numeri positivi sono rappresentati dal modulo e hanno bit

di segno a 0 i numeri negativi si ottengono complementando

(scambiando gli 1 con 0 e viceversa) il numero positivo corrispondente

+5 = 00101 -5 = 11010

notare che esistono due rappresentazioni per lo zero Notare che i numeri negativi hanno primo bit pari a uno

Rappresentazione delle informazioni

Fondamenti di informatica 16

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Numeri interi in complemento a 2 (molto importante) il complemento a due di X e` definito come

2n - X praticamente si somma 1 al complemento a 1

precedentemente calcolato

+5 = 00101 -5 = 11010 (in complemento a 1) -5 = 11011 (in complemento a 2)

notare che esiste una sola rappresentazione per lo zero Notare che i numeri negativi hanno primo bit pari a uno

Rappresentazione delle informazioni

Fondamenti di informatica 17

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Numeri interi con notazione in eccesso Si sceglie un numero di riferimento per la rappresentazione

dello zero Tutti i numeri restanti positivi e negativi sono definiti in

modo incrementale e decrementale

0 = 10000 (eccesso 16) -1 = 01111 (il numero precedente) +1 = 10001 (il numero seguente)

notare che esiste una sola rappresentazione per lo zero notare che i numeri negativi sono caratterizzati da un primo

bit pari a zero

Rappresentazione delle informazioni

Fondamenti di informatica 18

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Un esempio comparativo: valore in valore in valore in

BIT PATTERN c1 c2 eccesso 4 111 0 -1 3

110 -1 -2 2

101 -2 -3 1

100 -3 -4 0

011 +3 +3 -1

010 +2 +2 -2

001 +1 +1 -3

000 0 0 -4

Rappresentazione delle informazioni

Fondamenti di informatica 19

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Rappresentazione delle informazioni

Numeri in virgola fissa (fixed point)

Alcune cifre sono prese come parte frazionaria:

XXXX,YYYY Esempio:

0 0 0 0 1 1 1 0

parte intera: 0000 -> 0 parte decimale: 1110 ->

-> 1x2-1 + 1x2-2 + 1x2-3 +0x2-4 -> 1/2 + 1/4 + 1/8 = 7/8 = 0.875

mettendo assieme: 00001110 -> 0.875

Fondamenti di informatica 20

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Rappresentazione delle informazioni

Numeri in virgola mobile (floating point)

Deriva dalla rappresentazione scientifica: X,YYY · 10 exp(WW)

Esempio: 1,34 · 10 exp(3) = 1340 Notare che con poche cifre posso rappresentare numeri

enormi Notare che l’accuratezza della rappresentazione varia in

relazione al valore dell’esponente. La rappresentazione scientifica e` stata adattata alla

notazione binaria a 32 bit:

-1 exp(S) · 1,YYYYYYYYYYYYYYYYYYYYYYY · 2 exp(WWWWWWWW)

Fondamenti di informatica 21

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Rappresentazione delle informazioni

-1 exp(S) · 1,YYYYYYYYYYYYYYYYYYYYYYY · 2 exp(WWWWWWWW)

dove S e` il segno, Y la parte frazionaria della mantissa e W l’esponente

Notare bene: l’esponente è rappresentato con un offset fisso pari a 127 (notazione in eccesso)

Esempio: 13,25 = 1101,01 1,10101 · 2 exp(11)

S=0 (numero positivo) Y=10101000…0

W=10000010 (127+3 = 130)

Fondamenti di informatica 22

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Sistemi numerici Un sistema numerico e` definito da:

un insieme limitato di simboli (ad es. cifre arabe da 0 a 9) un insieme di regole applicabili per costruire i numeri In funzione delle regole definite un sistema numerico puo`

essere: posizionale non posizionale (ad esempio il sistema di numerazione

romano) Particolare interesse rivestono i sistemi numerici

posizionali “a base fissa” nei quali i pesi delle cifre sono potenze della base considerata

Rappresentazione delle informazioni

Fondamenti di informatica 23

Università di Sassari Facoltà di Economia - A.A. 2007-2008

V(n) = Σ di ri dove di simbolo in posizione i-esima, r base m = numero di cifre della parte frazionaria n = numero di cifre della parte intera si ha ovviamente n-1 >= i >= -m 0 <= di < r Sistema binario di = 0,1 r=2 Sistema ottale di = 0,1,2,3,4,5,6,7 r=8 Sistema esadecimale di = 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

r = 16

Rappresentazione delle informazioni

n-1

i= -m

Fondamenti di informatica 24

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Conversioni tra sistemi numerici da qualunque sistema a decimale tramite successioni di somme

e prodotti da sistema decimale a qualunque altro tramite divisioni

successive, ad esempio: 115 : 2 = 57 resto 1 ===> d0 57 : 2 = 28 resto 1 ===> d1 28 : 2 = 14 resto 0 ===> d2 14 : 2 = 7 resto 0 ===> d3 1 1 1 0 0 1 1 7 : 2 = 3 resto 1 ===> d4 3 : 2 = 1 resto 1 ===> d5 1 : 2 = 0 resto 1 ===> d6

Rappresentazione delle informazioni

Fondamenti di informatica 25

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Operazioni aritmetiche tra numeri binari

somma e sottrazione come per i numeri decimali

notare che la somma in c1 funziona regolarmente purché, in caso di riporto, il bit del segno venga sommato al risultato

notare che in c2 la somma funziona regolarmente e sara` espressa sempre in complemento a 2

moltiplicazione come per i decimali tramite somma e scorrimento

divisione come per i decimali tramite differenza e scorrimento

Rappresentazione delle informazioni

Fondamenti di informatica 26

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Esempi: (+7) + (-5) = (+2)

In c1 0111+1010 = 0010 (con riporto!)

(+7) + (-6) = (+1) In c2 0111+1010 = 0001

In c1 o c2 (+5) x (+6) = (+30) 0 0 0 0 0 1 0 1x

0 0 0 0 0 1 1 0= 0 0 0 0 0 0 0 0+

0 0 0 0 0 1 0 1 + 0 0 0 0 0 1 0 1 = 0 0 0 0 0 1 1 1 1 0

Rappresentazione delle informazioni

Fondamenti di informatica 27

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Operazioni di scorrimento (shift) equivalgono a divisioni/moltiplicazioni per 2 nel caso di rappresentazioni numeriche con segno occorre

tenere conto del segno in modo esplicito; ad esempio, nel caso di complemento a 2:

moltiplicazione => shift a sinistra e introduzione di 0 0011 = 3 diventa 0110 = 6 1101 = -3 diventa 1010 = -6

divisione => shift a destra e introduzione di bit come segno 0110 = 6 diventa 0011 = 3 1010 = -6 diventa 1101 = -3

ovviamente ci possono essere errori di troncamento

Rappresentazione delle informazioni

Fondamenti di informatica 28

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Rappresentazione delle informazioni

Errori di rappresentazione Overflow

Situazione di errore dovuta al fatto che il numero da rappresentare è superiore al massimo numero rappresentabile.

Rilevazione dell’overflow: Operazioni di SHIFT: se il segno del numero cambia si ha overflow

Esempio: 10011001 (shift a sx) 00110010 (overflow)

Addizione in C2: considerando gli ultimi due riporti dell’operazione di addizione, se uno dei due è 1 allora si ha overflow!

Esempio 01000000 + 01000000 = overflow 10000000 + 11111111 = overflow

Fondamenti di informatica 29

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Rappresentazione delle informazioni

Errori di rappresentazione Underflow

Situazione di errore dovuta al fatto che il numero da rappresentare è inferiore al minimo numero rappresentabile.

Errore di arrotondamento (round-off) Situazione di errore legata al fatto che la

rappresentazione non consente l’accuratezza richiesta.

overflow

~ -2 128

underflow

-2-150

underflow

0

overflow

~ +2 128+2-150

Fondamenti di informatica 30

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Rappresentazione delle informazioni

Codici Un codice e` un sistema di simboli che consente

di rappresentare informazioni L’associazione informazione-codice e` in genere

arbitraria

Codici BCD 8-4-2-1 ogni cifra decimale e` rappresentata da un

numero binario a quattro cifre Esempio:

(97)10 = (1001 0111)bcd Notare che il numero binario 10010111 non

equivale al numero decimale 97 !!!!

Fondamenti di informatica 31

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Rappresentazione delle informazioni

Codici a barre ogni cifra decimale e` rappresentata da un

numero binario a cinque cifre 0=01100 5=00110 1=11000 6=10001 2=10100 7=01001 3=10010 8=00101 4=01010 9=00011

Esempio:

0=

Fondamenti di informatica 32

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Rappresentazione delle informazioni

Codici a barre con codifica CODE 128 (alfanumerico)

ogni carattere ==> 11 moduli bianchi o neri, occupati da tre barre e tre spazi di dimensione variabile

ogni spazio o barra ha dimensione variabile da 1 a 4 moduli

tre possibili codifiche, indicate dal carattere di START

carattere di STOP con ampiezza 13 moduli

Fondamenti di informatica 33

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Rappresentazione delle informazioni

Value Start Code PatternB S B S B S 103 (Hex 87) START (Code A) 2 1 1 4 1 2 104 (Hex 88) START (Code B) 2 1 1 2 1 4 105 (Hex 89) START (Code C) 2 1 1 2 3 2

Value Stop Code PatternB S B S B S B 106 STOP 2 3 3 1 1 1 2

Value Code A Code B Code C PatternB S B S B S

30 > > 30 2 1 2 1 2 3

31 ? ? 31 2 1 2 3 2 1

32 @ @ 32 2 3 2 1 2 1

33 A A 33 1 1 1 3 2 3

34 B B 34 1 3 1 1 2 3

35 C C 35 1 3 1 3 2 1

36 D D 36 1 1 2 3 1 3

37 E E 37 1 3 2 1 1 3

38 F F 38 1 3 2 3 1 1

39 G G 39 2 1 1 3 1 3

Fondamenti di informatica 34

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Rappresentazione delle informazioni

Codici a controllo di parità consentono di individuare un errore di trasmissione

o di lettura/scrittura 01000100 1 (bit di parità dispari) 01000110 0 (bit di parità dispari)

Codici a controllo di errore Consentono di individuare e correggere errori di

trasmissione o lettura/scrittura La distanza di Hamming tra due simboli diversi deve

essere superiore a due:

A 000000 B 001111 C 010011 D 011100

Fondamenti di informatica 35

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Caratteri ASCII Codifica dei numeri -> basata sul “valore” Codifica dei caratteri -> convenzionale! Tabella che associa ad ogni carattere una sequenza di

cifre binarie

ASCII standard: 7 bit, 128 simboli ASCII esteso: 8 bit, 256 simboli UNICODE: 16 bit, 65536 simboli

Rappresentazione delle informazioni

Fondamenti di informatica 36

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Caratteri ASCII Description Char Hex Dec

null NUL ^@ 00 000; start of heading SOH ^A 01 001; start of text STX ^B 02 002; end of text ETX ^C 03 003; end of transmission EOT ^D 04 004; enquiry ENQ ^E 05 005; acknowledge ACK ^F 06 006; bell BEL ^G 07 007; backspace BS ^H 08 008; horizontal tab HT ^I 09 009; line feed, new line LF, NL ^J 0A 010; vertical tab VT ^K 0B 011; form feed, new page FF, NP ^L 0C 012; carriage return CR ^M 0D 013; shift out SO ^N 0E 014; shift in SI ^O 0F 015; data link escape DLE ^P 10 016; device control 1 DC1 ^Q 11 017; device control 2 DC2 ^R 12 018; device control 3 DC3 ^S 13 019; device control 4 DC4 ^T 14 020; negative acknowledge NAK ^U 15 021; synchronous idle SYN ^V 16 022; end of trans. block ETB ^W 17 023; cancel CAN ^X 18 024; end of medium EM ^Y 19 025; substitute SUB ^Z 1A 026; escape ESC ^[ 1B 027; file separator FS ^\ 1C 028; group separator GS ^] 1D 029; record separator RS ^^ 1E 030; unit separator US ^_ 1F 031;

Rappresentazione delle informazioni

Fondamenti di informatica 37

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Algebra booleana: base dei calcolatori moderni

George Boole (1815-1864): fondamenti dell’algebra booleana

Shannon (1938): prima idea di applicare l’algebra booleana ai circuiti

Componenti:

Variabili logiche

Operatori

Le funzioni logiche, ottenute applicando gli operatori alle variabili, possono essere descritte tramite tavole di verità

Algebra booleana

Fondamenti di informatica 38

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Variabili logiche

una variabile logica x puo` avere solo due stati:

x = VERO (TRUE) = 1 x = FALSO (FALSE) = 0

questa e` definita logica positiva elettricamente:

1 e` rappresentato da un valore di tensione positivo 0 e` rappresentato da un valore di tensione nullo

Operatori Nell’algebra booleana esistono tre operatori fondamentali:

AND OR NOT

Algebra booleana

Fondamenti di informatica 39

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Operatore AND

A AND B -> simbolo A · B (moltiplicazione) corrisponde ad una congiunzione stretta: A · B è vero solo se A e B sono entrambi veri

Tavola di verità

Algebra booleana

A B f = A AND B

0 0 0 0 1 0 1 0 0 1 1 1

f = A . B A B

Fondamenti di informatica 40

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Operatore OR

A OR B -> simbolo A + B (somma)

A + B è vero se A oppure B oppure entrambi sono veri

Tavola di verità

Algebra booleana

A B f = A OR B

0 0 0 0 1 1 1 0 1 1 1 1

f = A + B B A

Fondamenti di informatica 41

Università di Sassari Facoltà di Economia - A.A. 2007-2008

NOT NOT A -> simbolo A (negazione)

A è vero se A è falso e viceversa

Tavola di verità

Algebra booleana

A f = NOT A

0 1 1 0

f = AA

Fondamenti di informatica 42

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Gli operatori AND OR NOT possono essere sostituiti da vari

altri operatori logici

Tra questi NOR e NAND sono chiamati universali in quanto

ognuno di essi e` in grado di sostituire da solo e

completamente i tre precedenti

Sono ovvie le implicazioni di carattere costruttivo, per le

realizzazioni di circuiti integrati

Algebra booleana

Fondamenti di informatica 43

Università di Sassari Facoltà di Economia - A.A. 2007-2008

NOR (NOT OR)

Algebra booleana

A B f = A NOR B

0 0 1 0 1 0 1 0 0 1 1 0

f = A + B A B

Fondamenti di informatica 44

Università di Sassari Facoltà di Economia - A.A. 2007-2008

NAND (NOT AND)

Algebra booleana

A B f = A NAND B

0 0 1 0 1 1 1 0 1 1 1 0

f = A . B A B

Fondamenti di informatica 45

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Algebra booleana

Un altro operatore importante è lo XOR (OR esclusivo)

A XOR B = (A AND NOT(B)) + (NOT(A) AND B)

Simbolo: A XOR B -> A + B A XOR B è vero se solo uno tra A o B è vero È talvolta chiamato EXOR o EOR

A B f = A XOR B

0 0 0 0 1 1 1 0 1 1 1 0

Fondamenti di informatica 46

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Proprieta` dell’algebra booleana (valgono anche le relazioni duali)

Commutativa A+B = B+A

Associativa A. (B. C) = (A. B) . C

Assorbimento o inclusione A . (A+B) = A

Proprieta` supplementari

Distributiva A. (B+ C) = A. B + A. C (vale la duale)

Elemento neutro 0 + A = A 1 . A = A (duale)

Complementare A . A = 0 A + A = 1 (duale)

Algebra booleana

Fondamenti di informatica 47

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Altre proprieta` importanti assorbimento A + A . B = A + B assorbimento (duale) A . (A + B) = A . B fusione diretta A . B + A . B = A fusione diretta (duale) (A+B) . (A+B) = A

Algebra booleana

Fondamenti di informatica 48

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Leggi di De Morgan

A+ B = A. B

Algebra booleana

A B A + B A + B A B A . B

0 0 0 1 1 1 1 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 1 0 0 0 0

Fondamenti di informatica 49

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Leggi di De Morgan

A . B = A + B

Algebra booleana

A B A · B A · B A B A + B

0 0 0 1 1 1 1 0 1 0 1 1 0 1 1 0 0 1 0 1 1 1 1 1 0 0 0 0

Fondamenti di informatica 50

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Esempio di utilizzo di De Morgan: equivalenza tra circuiti digitali

complessi

Algebra booleana

A · BA B

C · DC D

(A·B) · (C·D) =

(A·B) + (C·D) =

A·B + C·D

Fondamenti di informatica 51

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Circuito digitale equivalente al precedente

Algebra booleana

A · BA B

C · DC D

(A·B) · (C·D) =

(A·B) + (C·D) =

A·B + C·D

Fondamenti di informatica 52

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Sintesi di circuiti digitali

consiste nel derivare la funzione logica a partire dalla

descrizione del problema

esistono diverse metodologie tra cui la piu` semplice e` la

sintesi diretta; richiede:

la costruzione della tabella di verita`

la derivazione della funzione diretta

la semplificazione tramite teoremi e proprieta` note

NB - funziona solo per casi molto semplici!!

Algebra booleana

Fondamenti di informatica 53

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Un esempio di aritmetica binaria: l’HALF ADDER

serve a sommare due bit

genera un riporto per lo stadio successivo

utilizzato in cascata con un FULL ADDER consente di

sommare numeri binari

L’algebra booleana

S

A Ci+1 H A

B

Fondamenti di informatica 54

Università di Sassari Facoltà di Economia - A.A. 2007-2008

L’algebra booleana

PASSO 1: la tabella di verità

INPUT operandi A, B

OUTPUT somma S e riporto per il passo successivo Ci+1

A B S Ci+1

0 0 0 0 0 1 1 0

1 1 0 1 1 0 1 0

Fondamenti di informatica 55

Università di Sassari Facoltà di Economia - A.A. 2007-2008

L’algebra booleana

PASSO 2: derivazione della formula diretta: Per ogni riga in cui la funzione assume valore 1:

AND di tutte le variabili: Normali quelle che hanno valore 1 Negate le altre

OR di tutte queste formule

Esempio per S: Riga 2 -> NOT(A) · B Riga 3 -> A · NOT(B) TOTALE : (NOT(A) · B) + (A · NOT(B))

Fondamenti di informatica 56

Università di Sassari Facoltà di Economia - A.A. 2007-2008

L’algebra booleana

PASSO 3: Semplificazione Utilizzo le proprietà dell’algebra booleana per semplificare

la formula (come semplificazioni espressioni in algebra lineare)

In questo caso si vede che è uno XOR, quindi

S = A XOR B

Posso procedere allo stesso modo per Ci+1:

Riga 4 -> A · B , quindi

Ci+1 = A · B

Fondamenti di informatica 57

Università di Sassari Facoltà di Economia - A.A. 2007-2008

L’algebra booleana

Verifica: calcolo la tabella di verità di A B e la confronto

con la tabella di verità di S

A B S A ⊕ B 0 0 0 0 0 1 1 1

1 1 0 0 1 0 1 1

Fondamenti di informatica 58

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Un altro esempio: il FULL ADDER

serve a sommare due bit, tenendo conto di un riporto che

può derivare dallo stadio precedente

genera a sua volta un riporto per lo stadio successivo

L’algebra booleana

S

A

Ci

Ci+1 F AB

Fondamenti di informatica 59

Università di Sassari Facoltà di Economia - A.A. 2007-2008

L’algebra booleana

PASSO 1: la tabella di verità:

INPUT operandi A, B, e il riporto dal passo precedente

OUTPUT somma S e riporto per il passo successivo Ci+1

A B Ci Ci+1 S

0 0 0 0 0 0 0 1 0 1 0 1 0 0 1

1 1 1 1 1 1 1 0 1 0

1 0 0 0 1 1 0 1 1 0

0 1 1 1 0

Fondamenti di informatica 60

Università di Sassari Facoltà di Economia - A.A. 2007-2008

L’algebra booleana

PASSO 2: derivazione della formula diretta: FORMULA S:

Riga 2 -> NOT(A) · NOT(B) · Ci Riga 3 -> NOT(A) · B · NOT(Ci) Riga 5 -> A · NOT(B) · NOT(Ci) Riga 8 -> A · B · C TOTALE : (NOT(A) · NOT(B) · Ci) + (NOT(A) ·

B · NOT(Ci)) + (A · NOT(B) · NOT(Ci)) + A · B · Ci

FORMULA Ci+1: Riga 4 -> NOT(A) · B · Ci Riga 6 -> A · NOT(B) · Ci Riga 7 -> A · B · NOT(Ci) Riga 8 -> A · B · Ci TOTALE : NOT(A) · B · Ci + A · NOT(B) · Ci +

A · B · NOT(Ci) + A · B · Ci

A B Ci Ci+1 S

0 0 0 0 0 0 0 1 0 1 0 1 0 0 1

1 1 1 1 1 1 1 0 1 0

1 0 0 0 1 1 0 1 1 0

0 1 1 1 0

Fondamenti di informatica 61

Università di Sassari Facoltà di Economia - A.A. 2007-2008

L’algebra booleana

PASSO 3: Semplificazione in questo caso si vede che S è uno XOR a tre variabili mentre

Ci+1 può essere ridotto utilizzando la proprietà di inclusione

A B Ci Ci+1 S A ⊕ B A ⊕ B ⊕ Ci 0 0 0 0 0 0 0 0 0 1 0 1 0 1

0 1 1 1 0 1 0 0 1 0 0 1 1 1

1 1 1 1 1 0 1 1 1 0 1 0 0 0

1 0 0 0 1 1 1 1 0 1 1 0 1 0

S = A ⊕ B ⊕ Ci

Ci+1 = A·B + B·Ci + A·Ci

Fondamenti di informatica 62

Università di Sassari Facoltà di Economia - A.A. 2007-2008

Algebra booleana

Half Adder

A0 B0

S0 Co

Full Adder

A1 B1

S1 Co

Ci

Full Adder

A2 B2

S2 Co

Ci

Full Adder

A3 B3

S3 Co

Ci

Docsity non è ottimizzato per il browser che stai usando. Per una miglior fruizione usa Internet Explorer 9+, Chrome, Firefox o Safari! Scarica Google Chrome