Sei sulla pagina 1di 109

Corso di laurea in Scienze delle attivit motorie e sportive

Informatica
Daniele Peri daniele.peri@unipa.it

Struttura del corso


Sistemi di elaborazione delle informazioni Rappresentazione delle informazioni Algebra booleana Algoritmi e programmazione Strutturazione ed elaborazione
dellinformazione a livello applicativo

Reti di calcolatori e Internet ...

Sistemi di elaborazione delle informazioni


Software Dati problema Hardware Risultati

Sistemi di elaborazione delle informazioni


Software

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

Microprocessore 8 bit (MOS 6502 1975)

Integrazione

Microprocessore 16 bit (Intel 8086, 1978)

Integrazione

Microprocessore 32 bit (MC68000 1979)

Integrazione

Microprocessore Dual Core (Core 2 Duo, 2005)

Calcolatore personale (1977)

Calcolatore personale (1981)

Calcolatore personale (1985)

Calcolatore portatile (2000)

Netbook (2009)

Tablet (2010)

Embedded computer

Embedded computer

Smartphone

Componenti di un PC

Architettura Von Neumann

Architettura Von Neumann

Architettura di un calcolatore personale

Componenti di un calcolatore personale

Scheda madre

Componenti di un calcolatore personale

CPU

Componenti di un calcolatore personale

RAM

Componenti di un calcolatore personale

Hard disk drive

Componenti di un calcolatore personale

Scheda di espansione

Componenti di un calcolatore personale

Schede madri Subnotebook e desktop

Componenti di un calcolatore personale


Processore AMD E Series E-450 (1.65GHz, 1MB L2) HD 500GB - RAM 4GB - Display 11,6" wide Wi-Fi 802.11b/g/n - Windows 7 Home Premium Webcam 1.3Mpixel integrata - Bluetooth 3.0+HS

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

Componenti di un calcolatore personale


Periferiche

Memorie di massa Dispositivi di input Tastiera Mouse Microfono (input audio) Dispositivi di misurazione Dispositivi di output Schermo Stampante Attuatori

Rappresentazione delle informazioni

Rappresentazione delle informazioni


Notazioni convenzionali per la rappresentazione di informazioni allo
scopo di renderne possibile lo scambio tra esseri umani Rappresentazione dei dati di tipo numerico 10 cifre decimali: 0,1,2,3,4,5,6,7,8,9 Rappresentazione dei dati di tipo testuale 26 caratteri dellalfabeto maiuscolo, minuscolo, segni di interpunzione e simboli speciali (, $, %, &, @, #...) Notazione segno/grandezza per i numeri relativi +47, -53 Notazione decimale per i numeri reali n = i + f 12,34 dove 12 la parte intera i e 0,34 la parte frazionaria f

Rappresentazione delle informazioni


I sistemi digitali manipolano elementi
discreti di informazione Questi elementi discreti vengono fatti corrispondere a quantit siche dette segnali (corrente, tensione) Se ai segnali si fanno assumere solo due valori verranno detti BINARI I due valori sono tipicamente rappresentati da intervalli di valori di tensione chiamati HIGH (ALTO) e LOW (BASSO) Distinguiamo tra range dei valori di ingresso (input) e di uscita (output)

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)

signicato di un simbolo dipende dalla posizione (num.

Non

posizionale: il signicato di un simbolo non dipende dalla posizione (num. romana)

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)

Bit, byte e multipli


Un byte (B) costituito da 8 bit 1 byte pu rappresentare 28 = 256 valori distinti Il massimo numero rappresentabile con 1 byte 28 1 = 256 1 = 255 Multipli del bit o del byte sono indicati con i pressi K kilo, 210 = 1.024 M mega, 220 = 1.048.576 G giga, 230 = 1.073.741.824 T tera, 240 = 1.099.511.627.776

Conversione da binario a decimale


1 Posizione Peso 3 8 1x8 + 0 2 4 0x4 + 1 1 2 1 0 1 11

1x2 + 1 x 1 =

10112= 1110

Conversione da decimale a binario


11 Posizione Peso 11 3 8 1 11-8=3 2 4 0 3 1 2 1 3-2=1 0 1 1

1110 =10112

Conversione da base 10 a base r


Metodo delle divisioni successive
P. int. Resto
41 41/2 20/2 10/2 5/2 2/2 1/2 20 10 5 2 1 0 1/2 0 0 1/2 0 1/2 1 0 0 1 0 1

Peso
1 2 4 8 16 32

Conversione da base 10 a base r


Conversione di numeri frazionari
Intero
0,6875 0,6875 x 2 0,375 x 2 0,75 x 2 0,5 x 2 0 1,375 0,75 1,5 1 0 1 0 1 1

Peso
1/2 1/4 1/8 1/16

0,687510 = 0,10112

Conversione da base 10 a base r


Conversione di numeri frazionari
Intero
0,77 0,77 x 2 0,54 x 2 0,08 x 2 0,16 x 2 0,32 x 2 1,54 1,08 0,16 0,32 0,64 1 1 0 0 0

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

Rappresentazione di numeri reali


Utilizzando insiemi niti di bit i numeri reali possono essere rappresentati:

in virgola ssa m bit per le potenze da 0 a m-1 e p bit per


le potenze da -1 a -p es. 6+2 bit: 101100.01 in virgola mobile n bit per la mantissa, p bit per lesponente m x be 6+2 bit: 10110001

Rappresentazione di numeri interi con segno


Utilizzando insiemi niti di bit i numeri interi con segno possono essere rappresentati:

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 codice binario a n-bit un gruppo di n bit, che pu assumere no a


2n combinazioni distinte di 1 e 0, in cui ciascuna combinazione rappresenta un elemento dellinsieme da codicare.

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

American Standard Code for Information Interchange

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

Alcune identit fondamentali


X+0=X X+1=1
X+X=X X + X = 1 X = X X +Y =Y + X X + (Y + Z) = (X + Y) + Z X (Y+Z) = XY + XZ X Y =Y X X (Y Z) = (X Y) Z X+YZ = (X+Y) (X+Z)

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

Software Dati problema Hardware Risultati

Hardware e software
Dati problema Software applicativo Strato software di astrazione hardware Hardware Risultati

Sistema operativo
Software applicativo Sistema operativo

Hardware

CPU Memoria I/O Networking Interfacce grache ...

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

Distribuzione del software


Licenze software Commerciali Libere Free software Open source

Software applicativo
Specializzato
General purpose

Fogli di calcolo o spreadsheet


Origini Sistemi batch Commerciali VisiCalc Lotus 1-2-3
A 1 2 3 4 5 6 7 8 Tot B 1 10 2 45 30 -1 15 102 C 3 23 18 74 12 1 0 131 D 4 39 12 76 9 43 -1 182

Open source Gnumeric OpenOfce (e LibreOfce) Calc

Fogli di calcolo o spreadsheet


Griglia di celle indicizzate per riga e
A 1 2 3 4 5 6 7 8 Tot B 1 10 2 45 30 -1 15 102 C 3 23 18 74 12 1 0 131 D 4 39 12 76 9 43 -1 182

colonna Ogni cella pu contenere valori costanti o formule Le formule consentono di effettuare i calcoli

Fogli di calcolo o spreadsheet


Riferimenti a singola cella: B3 colonna B riga 3 $B3 colonna B assoluta riga 3 B$3 colonna B riga assoluta 3 $B$3 colonna assoluta B riga
assoluta 3
A 1 2 3 4 5 6 7 8 Tot B 1 10 2 45 30 -1 15 102 C 3 23 18 74 12 1 0 131 D 4 39 12 76 9 43 -1 182

Fogli di calcolo o spreadsheet


Insiemi di celle possono essere individuati mediante riferimenti rettangolari.
A 1 2 3 4 5 6 7 8 Tot B 1 10 2 45 30 -1 15 102 C 3 23 18 74 12 1 0 131 D 4 39 12 76 9 43 -1 182

(cella in alto a sinistra : cella in basso a destra) B3:C5

Fogli di calcolo o spreadsheet


Una formula denisce un processo di calcolo che d valore a una cella. Linserimento comincia con il carattere = seguito da unespressione costruita con costanti, operatori, parentesi e funzioni.
A 1 2 3 4 5 6 7 8 9 Tot B 1 10 2 45 30 -1 15 102 C 3 23 18 74 12 1 0 131 D 4 39 12 76 9 43 -1 182 26

Med 14,6 18,7

Fogli di calcolo o spreadsheet


Costanti: numeriche, stringhe (abc) Operatori: + - / * Funzioni: somma(), media(), pendenza(), intercetta(), se(), vero(), falso(), e(), o(), non(), conta.se(), somma.se()
A 1 2 3 4 5 6 7 8 9 Tot B 1 10 2 45 30 -1 15 102 C 3 23 18 74 12 1 0 131 D 4 39 12 76 9 43 -1 182 26

Med 14,6 18,7

Fogli di calcolo o spreadsheet


B8=somma(B$1:B$7) B9=media(B$1:B$7) Il valore di una formula viene ricalcolato automaticamente al variare dei valori individuati dai riferimenti presenti nellespressione.
A 1 2 3 4 5 6 7 8 9 Tot B 1 10 2 45 30 -1 15 102 C 3 23 18 74 12 1 0 131 D 4 39 12 76 9 43 -1 182 26

Med 14,6 18,7

Base di dati
Insieme organizzato di dati a supporto dello svolgimento di attivit. Possono avere struttura: Gerarchica Reticolare Relazionale ...

Sistema di gestione di basi di dati (DBMS)


Sistema che gestisce collezioni di dati: Grandi Persistenti Condivise Garantendo Privatezza (gestione accessi) Afdabilit (transazioni) Efcienza (utilizzo delle risorse di calcolo e di memoria) Efcacia

Sistema di gestione di basi di dati (DBMS)


In una base di dati esistono: Lo schema, invariante nel tempo, che ne descrive la struttura Listanza, variabile nel tempo, determinata dai valori attuali

Sistema di gestione di basi di dati (DBMS)


Schemi schema logico: descrizione dellintera base di dati nel modello logico del DBMS (es. struttura delle tabelle) schema interno (o sico): rappresentazione dello schema logico per mezzo di strutture siche di memorizzazione schema esterno: descrizione di parte della base di dati in un modello logico (viste)

Sistema di gestione di basi di dati (DBMS)


utente utente utente Schema esterno utente utente Schema esterno Schema esterno

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

Schneider, Gersting, Informatica, Apogeo