Informatica
Daniele Peri daniele.peri@unipa.it
Dati problema
Hardware
Risultati
Applicazioni
Acquisizione dati Analisi dati Presentazione dati Gestione basi di dati Supporto alle decisioni Simulazioni Istruzione ...
Scopo Tecnologia
Calcolatori elettronici
Scopo Tecnologia
Calcolatori analogici
Calcolatori analogici
Meccanici
Calcolatori analogici
Meccanici Idraulici
Calcolatori analogici
Meccanici Idraulici Elettrici
Calcolatori analogici
Meccanici Idraulici Elettrici Elettronici
Calcolatori analogici
Meccanici Idraulici Elettrici Elettronici
Grandezze continue
Calcolatori digitali
ENIAC (1946)
Calcolatori digitali
Grandezze discrete
ENIAC (1946)
Calcolatori digitali
Dispositivi elettromeccanici
Grandezze discrete
ENIAC (1946)
Calcolatori digitali
Dispositivi elettromeccanici Valvole termoioniche
Grandezze discrete
ENIAC (1946)
Calcolatori digitali
Dispositivi elettromeccanici Valvole termoioniche Transistor
Grandezze discrete
ENIAC (1946)
Calcolatori digitali
Dispositivi elettromeccanici Valvole termoioniche Transistor Circuiti integrati
Grandezze discrete
ENIAC (1946)
Programmabilit
Telai programmabili (1800) Analytical Engine (Babbage, 1837) Zuse Z3 (1941) ENIAC (1946)
Programmabilit
Scheda perforata
Integrazione
Integrazione
Integrazione
Integrazione
Netbook (2009)
Tablet (2010)
Embedded computer
Embedded computer
Smartphone
Componenti di un PC
Scheda madre
CPU
RAM
Scheda di espansione
Intel Pentium B960 (2.20GHz, 2MB L2) HD 750GB - RAM 6GB - Display 15,6" wide Wi-Fi 802.11b/g/n - Windows 7 Home Premium Webcam con microfono integrata Scheda video AMD Radeon HD 7450M 1GB dedicata
Memorie di massa Dispositivi di input Tastiera Mouse Microfono (input audio) Dispositivi di misurazione Dispositivi di output Schermo Stampante Attuatori
Sistemi di numerazione
Un sistema di numerazione un insieme nito di regole e simboli (digit), che permettono di dare un signicato numerico ad una sequenza di tali simboli
Posizionale: il
decimale)
Non
Sistemi di numerazione
Il NUMERO dei simboli adoperato in un sistema di numerazione la BASE (B) o RADICE (r) del sistema. Le basi pi frequenti sono: BASE 10: B (r) = 10 BASE 2: B (r) = 2 BASE 8: B (r) = 8 BASE 16: B (r) = 16 I simboli che si possono rappresentare in radice r vanno da 0 a r-1. r = 10 0,1,2,3,4,5,6,7,8,9 r = 2 0,1 r = 8 0,1,2,3,4,5,6,7 r = 16 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
Sistemi di numerazione
Il numero N in radice r lo possiamo scrivere come: N = Ni+Nf = An-1 rn-1 + An-2 rn-2 + ... + A0 r0 + A-1 r-1 + A-2 r-2 + ... + A-m r-m
An-1 il most signicant digit (msd, simbolo pi signicativo) A-m il least signicant digit (lsd, simbolo meno signicativo)
Numerazione binaria
Decimale 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Binario 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111
In qualunque sistema di numerazione posizionale la base sempre espressa come 10 (uno - zero)
1x2 + 1 x 1 =
10112= 1110
1110 =10112
Peso
1 2 4 8 16 32
Peso
1/2 1/4 1/8 1/16
0,687510 = 0,10112
Peso
1/2 1/4 1/8 1/16 1/32
0,7710 = 0,11000...2
Operazioni aritmetiche
01100 2+10001 2
16
Addendo Addendo 0 1
8
1 0
4
1 0
2
0 0
1
0 1
Operazioni aritmetiche
01100 2+10001 2
16 Riporti
Addendo Addendo Risultato 0 1 1 0 1 0 0 0 0 1
Operazioni aritmetiche
01100 2+10001 2
Riporti
Addendo Addendo Risultato
16 0
0 1 1
8 0
1 0 1
4 0
1 0 1
2 0
0 0 0
1 0
0 1 1
Operazioni aritmetiche
10110 2+10111 2
Riporti
Addendo Addendo Risultato 1
32 1
16 0
1 1 0
8 1
0 0 1
4 1
1 1 1
2 0
1 1 0
1 0
0 1 1
Operazioni aritmetiche
10110 2-10010 2
Prestiti 16 0
1 1 0
8 0
0 0 0
4 0
1 0 1
2 0
1 1 0
1 0
0 0 0
Operazioni aritmetiche
10110 2-10011 2
Prestiti 16 0
1 1 0
8 0
0 0 0
4 1
1 0 0
2 1
1 1 1
1 0
0 1 1
Operazioni aritmetiche
10011 2-11110 2
16 Prestiti
1 1 0 1 0 1 1 1 1 0
Operazioni aritmetiche
- (11110 2 -10011 2)
Prestiti 16 0
1 1 0
8 0
1 0 1
4 1
1 0 0
2 1
1 1 1
1 0
0 1 1
Operazioni aritmetiche
1011 2 x 101 2
32 16 8 1
1 0 1 0
4 0
1 0 0 1 1
2 1
0 1 0 1
1 1
1 1
1 1
0 0 1
in modulo e segno 1 bit per il segno e m-1 bit per il modulo es. : 10110000 = ? in complemento a 2 (alla base) m bit tutti per le cifre es.: 00110000 -> 11010000
Codici
In un sistema di numerazione in base r, con n cifre possibile rappresentare: rn numeri interi: 0 rn 1 I numeri frazionari: 0.0 (rn-1) / rn
Un
insieme di quattro elementi pu essere codicato con un codice binario con n = 2 bit (00, 01, 10, 11) Un insieme di otto elementi richieder un codice a 3 bit Un insieme di 16 elementi richieder un codice a 4 bit
Codica ASCII
Rappresentazioni grache
0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0
Rappresentazioni grache
0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0
Rappresentazioni grache
7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 1 0 1 0 0 1 1 0 0 0 1 0 0 1 1 0 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0
Algebra di Boole
AND () X Y Z 0 0 0 0 1 0
1 1 0 1 0 1
OR (+) X Y Z 0 0 0 0 1 1
1 1 0 1 1 1
NOT () X Z 0 1 1 0
Tabelle di verit
X Y Z 0 0 0 0 0 1 F
F= X OR ( (NOT Y) AND Z)
0 0 1 1 1 1
1 1 0 0 1 1
0 1 0 1 0 1
Tabelle di verit
X Y Z 0 0 0 0 0 1 F 0 1
0 0 1 1 1 1
F= X OR ( (NOT Y) AND Z)
0 0 1 1 1 1
1 1 0 0 1 1
0 1 0 1 0 1
X1=X X0=0
XX=X X X = 0
Programmabilit
7 6 5 4 3 2 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0 1 2 0 0 0 0 1 0 0 0 3 0 0 0 0 0 1 1 1 4 0 0 0 0 0 1 1 0 5 0 0 0 0 0 1 0 1 6 0 0 0 0 0 1 0 0 7 0 0 0 0 0 0 1 1 8 0 0 0 0 0 0 1 0 9 0 0 0 0 0 0 0 1 7 6 5 4 3 2 1 0 R1 0 0 0 0 0 0 0 0 R2 0 0 0 0 0 0 0 0 R3 0 0 0 0 0 0 0 0 R4 0 0 0 0 0 0 0 0
1.Carica 0 in R1 2.Carica 10 in R2 3.Carica 0 in R4 4.Carica in R3 il valore della locazione individuata da R1 5.Somma R3 a R4 (aggiornando il valore di R4 con il risultato) 6.Incrementa R1 7.Decrementa R2 8. Se R2 maggiore di 0 salta allistruzione 4 9. Fine
Hardware e software
Hardware e software
Dati problema Software applicativo Strato software di astrazione hardware Hardware Risultati
Sistema operativo
Software applicativo Sistema operativo
Hardware
Gestione risorse
Software
Fasi di sviluppo Scrittura Esecuzione Classicazione secondo il modello di esecuzione Compilato Interpretato
Software compilato
Sorgente Compilazione Eseguibile Esecuzione
Risultato
Software interpretato
Sorgente
Interprete
Esecuzione
Risultato
Software applicativo
Specializzato
General purpose
colonna Ogni cella pu contenere valori costanti o formule Le formule consentono di effettuare i calcoli
Base di dati
Insieme organizzato di dati a supporto dello svolgimento di attivit. Possono avere struttura: Gerarchica Reticolare Relazionale ...
Schema logico
Schema interno
BD
Modello relazionale
D1, D2, ... Dn insiemi, anche non distinti (domini) Prodotto cartesiano D1 x D2 x ... x Dn insieme di tutte le n-uple d1, d2, ..., dn con d1 D1, d2 D2, ..., dn Dn Una relazione un sottoinsieme del prodotto cartesiano r D1 x D2 x ... x Dn
Modello relazionale
Una tabella rappresenta una relazione se i valori di ogni colonna sono fra loro omogenei le righe sono diverse fra loro le intestazioni delle colonne sono diverse tra loro In una tabella che rappresenta una relazione lordinamento tra le righe irrilevante lordinamento tra le colonne irrilevante
Modello relazionale
Studente Matricola 1234 5678 9012 3456 Esame Studente 1234 1234 9012 5678 Voto 30 30 28 30 Corso 1114 1113 1111 1111 Codice 1114 1112 1113 1111 Cognome Rossi Bianchi Verdi Bianchi Nome Mario Giuseppe Carla Mario Corso Nome Informatica Anatomia Diritto Economia Data di nascita 1/1/1990 2/2/1990 3/3/1991 1/1/1990
Modello relazionale
I vincoli di integrit specicano propriet che devono essere soddisfatte dalle istanze per rappresentare informazioni corrette per lapplicazione. Possono essere: intrarelazionali su valori (dominio) di ennupla interrelazionali
Modello relazionale
Studente Matricola 1234 5678 9012 9012 Esame Studente 1234 1234 9012 5679 Voto 30 32 28 30 Lode VERO FALSO VERO FALSO Corso 1114 1113 1111 1111 Codice 1114 1112 1113 1111 Cognome Rossi Bianchi Verdi Bianchi Nome Mario Giuseppe Carla Mario Corso Nome Informatica Anatomia Diritto Economia Data di nascita 1/1/1990 2/2/1990 3/3/1991 1/1/1990
Modello relazionale
Studente Matricola 1234 5678 9012 3456 Cognome Rossi Bianchi Verdi Bianchi Nome Mario Giuseppe Carla Mario Data di nascita 1/1/1990 2/2/1990 3/3/1991 1/1/1990
Una chiave un insieme di attributi che identica le ennuple di una relazione. Esempio: Matricola Cognome, Nome, Data di nascita
Modello relazionale
Studente Matricola 1234 5678 9012 3456 Cognome Rossi Bianchi Verdi Bianchi Nome Mario Giuseppe Carla Mario Data di nascita 1/1/1990 2/2/1990 3/3/1991 1/1/1990
Una chiave si dice primaria se non ammette valori nulli. Formalismo: Studente(Matricola, Cognome, Nome, Data di nascita) Studente(Matricola, Cognome, Nome, Data di nascita)
Modello relazionale
Studente Matricola 1234 5678 9012 3456 Esame Studente 1234 1234 9012 5678 Voto 30 30 28 30 Corso 1114 1113 1111 1111 Codice 1114 1112 1113 1111 Cognome Rossi Bianchi Verdi Bianchi Nome Mario Giuseppe Carla Mario Corso Nome Informatica Anatomia Diritto Economia Data di nascita 1/1/1990 2/2/1990 3/3/1991 1/1/1990
Un vincolo di integrit referenziale, chiave esterna (foreign key) impone ai valori di una relazione di comparire come valori di chiave primaria di unaltra.
Testi
Ceri, Mandrioli, Sbattella, Informatica arte e
mestiere, McGraw-Hill