Abilità Informatiche - "PARTHENOPE"

Transcript

Abilità Informatiche - "PARTHENOPE"
Abilità Informatiche
2
Programma del corso
 Introduzione
 L’informazione digitale
o Un minimo di basi teoriche
o Cosa possiamo aspettarci da un computer, e cosa no
 Architettura degli elaboratori
o Come è fatto un computer
 I sistemi operativi
o Servizi che un computer offre all’utente, e come
funzionano
 Principali applicativi
o Alcuni compiti comuni che il computer ci aiuta a
svolgere
3
Obiettivi
 Alla fine del corso, chi ha frequentato con
successo:
o sarà un utente informato
o comprenderà i principi di base
dell’informatica, dell’architettura degli
elaboratori e dei sistemi operativi
o avrà una visione d’insieme e aspettative
realistiche sull’informatica
o potrà usare più agilmente gli strumenti
informatici nei corsi che lo richiederanno
4
Informatica e discipline economiche






Elaborazione delle transazioni
Contabilità e bilancio
Sistemi di supporto alle decisioni
Analisi statistica di serie storiche
Modelli economico-finanziari
…
5
Le parole di oggi





Algoritmo
Codifica
Bit
Multimedia
Compressione
6
Algoritmi
 Algoritmo: sistema finito di regole e
procedure di calcolo definite formalmente
che portano alla soluzione di un problema
con un numero finito di operazioni, quali
che siano i dati di ingresso
 Esiste di un algoritmo per risolvere un
problema  la risoluzione del problema
può essere automatizzata
7
Algoritmi
 Il nome deriva dal
matematico persiano
al-Khwārizmī, che
operò nella Bagdad
nel IX secolo d.C.
o Il califfo dell’epoca era
al-Maʾmūn, figlio di
Hārūn al-Rashīd, reso
famoso dalle «Mille e
una notte»
8
Risoluzione di un problema tramite
l’elaboratore
1. Formulazione precisa del problema
2. Ricerca dell’algoritmo per la soluzione
3. Formulazione testuale dell’algoritmo in un
linguaggio accessibile all’elaboratore
(linguaggio di programmazione),
ottenendo un programma
4. Esecuzione del programma
 Raffinamento
9
Poniamoci alcune domande
 Esiste un solo algoritmo per risolvere un
problema?
 Un algoritmo si può implementare in un solo
linguaggio?
 Tutti i programmi che implementano un
determinato algoritmo in un linguaggio
precisato sono equivalenti?
 Confronto e scelta tra algoritmi
 Confronto e scelta tra linguaggi
 Caratteristiche dei programmi
10
Codifica
 Codice Catastale
o F839 
o H703 
o A638 
NAPOLI
SALERNO
BARCELLONA POZZO DI GOTTO
 CAP
o Castellammare di Stabia  80053
o C.MARE DI STABIA  80053
 Datemi due ragioni sul perché codificare
11
Codifica
 Assegnazione di un codice univoco a
tutti gli oggetti compresi in un insieme
predefinito
12
Codifica – elementi essenziali
 Alfabeto dei simboli utilizzabili
o Esempio (CAP): cifre «0», «1», «2», …, «9»
o Esempio: simbolo della valuta «€», cifre «0»,
«1», «2», …, «9», segni più «+» e meno «-»,
separatore decimale «,» e separatore delle
migliaia «.»
 Q: Che stiamo codificando?
13
Codifica – elementi essenziali
 Regole di composizione (sintassi) che
definiscono le sequenze di simboli (parole)
ammissibili:
o Esempio: un CAP ha esattamente 5 cifre
o Esempio: 1.234,50€ è la rappresentazione di
un importo, 1,2€3,4.50 non lo è.
 Significato (semantica) delle
configurazioni ammissibili
14
Codifica binaria dell’informazione
 Il calcolatore utilizza un alfabeto binario: usa
dispositivi elettronici digitali in grado di
assumere due soli stati: acceso/spento,
ON/OFF, 1/0, VERO/FALSO
 Q: Avere un alfabeto binario limita le
funzionalità? Non sarebbe stato meglio
lavorare in decimale?
 There are only 10 types of people in the
world: those who understand binary, and
those who don’t
15
bit
 Il simbolo o cifra binaria si indica con bit
(da Binary digIT)
o quantità d’informazione che si ottiene
selezionando una configurazione da un
insieme di due configurazioni equiprobabili
16
Bit
 Quanti valori distinti si possono ottenere
con 1 bit?
o0
o1
 2 valori distinti
17
Codifica binaria dell’informazione
 Con 1 bit si possono codificare al più 2
informazioni.
Valore
del bit
Codifica
A
Codifica B
Codifica
C
Codifica
D
0
Nero
Non autorizzato
0
1
1
Bianco
Autorizzato
1
2
18
bit
 Quanti valori distinti si possono ottenere con
sequenze (parole) di 2 bit?
o 00
o 01
o 10
o 11
 4 valori distinti
 Si possono codificare al più 4 oggetti
o p.es. contare da 0 a 3: {0, 1, 2, 3}
 oppure da 1 a 4; o magari da 1001 a 1004: il punto di
partenza è arbitrario
 oppure da -2 a +1: {-2, -1, 0, +1}
19
bit
 Quanti valori distinti si possono ottenere con
parole di 3 bit?
o
o
o
o
o
o
o
o
000
001
010
011
100
101
110
111
 8 valori distinti
 Si possono codificare 8 oggetti
20
Codifica binaria dell’informazione
 Se passiamo da una parola binaria di k bit
ad una parola di k+1 bit si raddoppia il
numero di oggetti che si possono
rappresentare
o Si aggiunge il prefisso 0 (e poi il prefisso 1) a
ciascuna delle disposizioni degli altri bit
21
Codifica binaria dell’informazione
 Quanti oggetti diversi posso codificare con
parole binarie composte da k bit?
o 1 bit: 21 = 2 valori (0, 1)  2 oggetti
o 2 bit: 22 = 4 valori (00, 01, 10, 11)  4
oggetti
o 3 bit: 23 = 8 valori (000, 001, 010, 011, 100,
101, 110, 111)  8 oggetti
o…
o k bit: 2k valori  2k oggetti
22
Definire un codice
 Identificare due insiemi:
o Insieme delle configurazioni ammissibili
o Insieme degli oggetti da rappresentare
 Associare gli elementi dei due insiemi
 Esempio: associare una codifica binaria ai
giorni della settimana
o 3 bit (che possono rappresentare 23 = 8
oggetti) sono sufficienti
23
Esempio
111
110
101
Insieme delle configurazioni
ammissibili
010
011
001
100
000
LUN
MAR
MER
VEN
GIO
SAB
Insieme degli oggetti da codificare
DOM
24
Esempio
111
110
101
010
011
001
100
Codice
000
LUN
MAR
MER
VEN
GIO
SAB
DOM
25
Byte
 Un gruppo di 8 bit (ottetto) prende il nome di byte
 Con 8 bit si possono codificare 28 = 256
informazioni
 Con un byte si possono ad esempio rappresentare i
numeri interi negli intervalli:
o
o
o
o
[0, 255] (da 0 a 255, estremi inclusi)
[1, 256] (da 1 a 256, estremi inclusi)
[-127, 126] (da -127 a 126, estremi inclusi)
Q: perché solo fino a 126 e non 127?
26
Sistema metrico decimale
 Nel sistema metrico decimale, aggiungere
un prefisso ad un’unità di misura indica
una moltiplicazione
o 1 km = 1.000 m
o 2.5 GHz = 2.500 MHz (banda di frequenza
usata dalle reti Wi-Fi … e non solo)
27
Sistema Metrico Decimale
Prefisso
Denominazione
Moltiplicatore
Significato
k
kilo
103 (1.000)
1.000 unità
M
mega
106 (1.000.000)
1.000 kilo
G
giga
109 (1.000.000.000)
1.000 mega
T
tera
1012 (1 seguito da 12 zeri)
1.000 giga
P
peta
1015
1.000 tera
E
exa
1018
1.000 peta
Z
zetta
1021
1.000 exa
Y
yotta
1024
1.000 zetta
28
Multipli del byte
 Nel sistema metrico il prefisso k (kilo)
indica 1000 (103)
 In informatica, i calcoli sono basati non su
potenze di 10 ma su potenze di 2
o Q: Secondo voi, perché?
 Per fortuna, 210 = 1024 ~ 1000 (103)
 1 kbyte (kilobyte) dunque indica 210 =
1024 cioè circa 1000 byte
29
Multipli del byte
Unità
Denominazione
Moltiplicatore
Significato
Kbyte
kilobyte
210 (1.024)
1.024 unità
Mbyte
megabyte
220 (1.048.576)
1.024 kilo
Gbyte
gigabyte
230 (1.073.741.824)
1.024 mega
Tbyte
terabyte
240 (1.099.511.627.776)
1.024 giga
Pbyte
petabyte
250 (1.125.899.906.842.624)
1.024 tera
Ebyte
exabyte
260 (1.152.921.504.606.846.976)
1.024 peta
30
Multipli del byte
 Q: Esiste il megabit?
 A: Certo; però attenzione: vale 106 bit e
non 220
31
Codifica dei caratteri
 Vogliamo codificare un testo
o Supponiamo, per ora, che sia in lingua inglese
 Occorre innanzitutto codificare i caratteri
o a-z  26 simboli
 Ma ci sono le maiuscole
o A-Z  altri 26 simboli
 E i segni di punteggiatura
o Almeno i più comuni
,.;:?!’"()[]
 Eppure manca ancora un protagonista
assoluto. Chi?
32
Codifica dei caratteri
 Lo spazio bianco!
o Altrimentileggeremmosoloun’indefinitasequenzadi
caratteri
 E se c’è qualche numero?
o 0-9  10 simboli
 Le quattro operazioni
o 4 simboli per + - / *
 Altri alfabeti: caratteri accentati
o Aggiungiamo à è é ì ò ù (e anche À È É Ì Ò Ù)
33
Codifica dei caratteri
 E così via
 Insomma, i 256 valori distinti
rappresentabili con un byte fanno comodo
 Ciascun carattere è rappresentato da un
byte e corrisponde ad un valore numerico
o Per un libro di 400 pagine con 30 righe,
ognuna di 60 battute, quanti byte occorrono?
 Nell’ordine del kB? Del MB? Del GB?
34
Codifica ASCII (estesa: 8 bit)
 È una corrispondenza tra i numeri
dell’intervallo 0-255 e i simboli
 Esempi:
o 65 → A
o 66 → B
o 90 → Z
o 58 → :
o 232 → è
97 → a
98 → b
122 → z
59 → ;
233 → é
35
Codifica Unicode
 Lingue orientali
o Ideogrammi
o Scritture bustrofediche
 Standard Unicode
o Codifiche
 UTF-8
o 1 byte per i caratteri ASCII
o Da due a quattro byte per gli altri
36
Codifiche adattative
 Q: ma non sono troppi quattro byte?
 A: Sì; però i caratteri che necessitano di 4
byte sono estremamente rari, mentre
quelli che ne richiedono uno sono
frequenti
o Esempio di codifica adattativa
37
Multimedia
 Digitalizzazione
 Conversione dal formato analogico ad uno
numerico, gestibile dai computer
o Rappresentazione digitale
o Digitale deriva da digit, che in inglese significa
cifra, e deriva a sua volta dal latino dĭgĭtus,
cioè dito.
o In definitiva digitale è ciò che è rappresentato
con i numeri, che si contano appunto con le
dita
38
Segnali audio – esempio
nota LA
La pressione
dell’aria varia in
modo sinusoidale
con una frequenza
di 440Hz
39
Digitalizzazione
40
Codifica di suoni
 Si fa un campionamento dell’onda sonora
(misurazione del valore dell’onda a
intervalli regolari di tempo)
 Si codificano in forma digitale i dati
campionati (16 bit)
41
Campionamento
 Un campionamento più fitto (ovvero con una
frequenza di campionamento maggiore)
consente di rappresentare i segnali analogici
con maggiore fedeltà
 Per segnali audio di tipo vocale (ad es.
telefono), la frequenza di campionamento è
tipicamente di 8 kHz (8000 campioni al
secondo)
 Per segnali audio musicali (ad es. CD audio),
la frequenza di campionamento è tipicamente
di 44.1 kHz
42
Codifica dei suoni
ADC:
da
analogico a
digitale
Convertitore
analogico-digitale
01011010
11110000
10100000
10000010
DAC:
da digitale
ad
analogico
Convertitore
digitale-analogico
43
Immagini
 Discretizzazione: scomposizione
dell’immagine in un reticolo di punti
(pixel, picture element)
 Quantizzazione: codifica di ogni pixel con
un valore numerico all’interno di un ben
peciso intervallo
44
Discretizzazione
Si sovrappone una griglia all’immagine
45
Discretizzazione
 Ogni quadratino della griglia prende il
nome di pixel (picture element)
 Può essere codificato in binario secondo la
seguente convenzione:
o È predominante il nero? Valore «0»
o È predominante il bianco? Valore «1»
46
Discretizzazione
0 0 0 1 0 0 0 0 0 0
0 0 1 1 1 0 0 0 0 0
0 0 1 1 1 1 1 0 0 0
0 0 0 0 0 0 0 0 0 0
47
Discretizzazione
La figura che si ottiene è un’approssimazione
della figura originaria
48
Discretizzazione
• L’approssimazione sarà tanto più fedele
quanto più è elevato il numero di pixel
• ossia quanto più piccole sono le
dimensioni dei quadratini della griglia
49
Risoluzione
 La risoluzione dell’immagine è la
dimensione della griglia utilizzata per
discretizzare l’immagine
o es. 640x480 o 1024x768 (4:3), 1920x1080
(16:9)
50
Effetti della riduzione di risoluzione
51
Codifica dei colori
 A ciascun pixel va associato un numero
che ne codifica il colore:
 Pixel in bianco/nero (senza sfumature)
o 1 bit
 Pixel in colore
o 4 bit = 16 colori
o 8 bit (1 byte) = 256 colori (scala di grigi)
o 24 bit (3 byte) = circa 16.000.000 di colori
52
Immagini b/n: Un esempio
Ogni pixel è rappresentato da un bit
000000000000000000000000
000000000011111111000000
000000000010000010000000
000000000010000100000000
000000000010001000000000
000000000010010000000000
000000000010100000000000
000000000011000000000000
000000000010000000000000
53
Immagini in scala di grigi
 Immagini in bianco e nero con sfumature
o Rappresentazione in «toni di grigio»: un byte
per pixel, con 256 gradazioni di grigio per
ogni pixel, o più byte per pixel, per avere più
gradazioni possibili
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
54
Codifica dei colori
 Il colore può essere
generato attraverso la
sintesi additiva di 3
colori fondamentali:
red, green, blue
(codifica RGB)
o Quanto è intenso
ciascun colore
fondamentale?
55
Immagini in scala di grigi / colori
 Immagini a colori
o Profondità di colore: numero di bit per ogni pixel (di
norma 24, ovvero un byte per ogni colore)
o Usando 8 bit per ogni colore si possono ottenere 256
gradazioni per il rosso, 256 per il blu e 256 per il
verde
o combinate insieme, danno origine a circa 16,7 milioni
di colori diversi (precisamente 16777216 colori)
RED
GREEN
BLUE
100
200
200
Codifica : 01000100
Codifica : 11001000
Codifica : 11001000
56
Effetti della quantizzazione
4 bpp
3 bpp
2 bpp
1 bpp
57
Dimensione di un’immagine
In questo esempio, 160 pixel (20x8)
20 pixel in larghezza
8 pixel in lunghezza
2 colori = 1 bit per pixel
L’immagine occupa dunque 160x1=160 bit
In byte: 160 bit = 160/8 byte = 20 byte
58
Multimedia: dimensioni
 Risoluzione e profondità di colore
determinano quindi il numero di byte
necessari per l’immagine
o Esempio: immagine 1024x768 a 256 toni di
grigio
 1024x768 pixel * 8 bit/pixel = 768 Kbyte
o Esempio: immagine 1024x768 a 16M colori
 1024x768 pixel * 24 bit/pixel = 2304 Kbyte
59
Multimedia: dimensioni
 Esempio: brano musicale su CD
o Frequenza di campionamento 44100 Hz
o 16 bit / campione
o 2 canali (destro e sinistro)
o 2 * 16 * 44100 = 1411200 bit / s  176
Kbyte / s
o 1 canzone
 circa 5 minuti  176 Kbyte/s * 60 s/min * 5 min
 circa 52 Mbyte
o 60 min di musica
 176 * 60 * 70  circa 630 Mbyte
60
Multimedia: dimensioni
 In sintesi, gli oggetti multimediali
richiedono molto spazio
 Possiamo fare di meglio?
61
Codifica e compressione
 La compressione riduce drasticamente lo
spazio occupato
 La compressione lossless è una
trasformazione matematica reversibile
o Decompress(Compress(X)) = X
 La compressione lossy sfrutta anche
caratteristiche della percezione umana
o Decompress(Compress(X)) ≠ X ma è
percettivamente equivalente a X
o Tassi di compressione molto superiori
62
Compressione per file multimediali
 La compressione sfrutta:
o Il fatto che punti vicini hanno lo stesso colore
o La percezione umana non percepisce riduzioni
di fedeltà (siamo davvero in grado di
distinguere 65.535 ~ 16.000.000 colori?)
63
Formati compressi per immagini
 Non compresso
o BMP (BitMaP)
 Compresso:
o GIF (Graphics Interchange Format brevettato), PNG (Portable Network Graphics)
o JPEG (Joint Photographic Experts Group),
TIFF (Tagged Image File Format)
64
Immagini vettoriali
 Quelle viste finora sono dette raster
 Invece di «fotografare» una scena, ne
descrive le componenti
o Possibile solo per immagini semplici e ben
strutturate
o Es.: disegni di AutoCAD
 Ingrandimento senza perdita di qualità
o
o
o
65
Formati di codifica di suoni




WAV, non compresso
MP3
OGG
AAC
66
Esempio: fotocamera digitale
 La risoluzione delle immagini è espressa in
MegaPixel (milioni di pixel)
o I colori sono sempre 16 milioni (3 byte per pixel).



6.0 MegaPixel = 6 Milioni di pixel
Le proporzioni di una foto sono di
solito di 4:3
Quindi al massimo la foto potrà
avere una risoluzione di...
o
4A xo3A = 6000000
12A2 = 6000000
A2 = 500000
A  700
o
risoluz. max.  2800 x 2100
dim.o 6000000 x 3 Byte = 18 MB
o
67
Fattore di Compressione
 Esempio:
o Fotocamera a 8 Mpixel  circa 8.000.000 di pixel
 Occupazione immagine non compressa a colori
o
o
o
o
o
8.000.000 pixel
x
3 componenti / pixel
x
1 byte / componente
=
______________________
24.000.000 byte  circa 24 Mbyte
 L’immagine in formato JPEG occupa circa 2.4 Mbyte
 Fattore di compressione  dimensione originale / dimensione
compressa
o 24 Mbyte / 2.4 Mbyte = 10:1
o Una canzone di circa 5 min in formato mp3 richiede circa 5
Mbyte  fattore di compressione circa 10:1
68
Compressione e qualità
Qualità 100%
147796 byte
Qualità 50%
35970 byte
Qualità 25%
16045 byte
Qualità 10%
9100 byte
Non compressa: 786432 byte. Immagine: 512x512, dettaglio: 64x64
69
Immagini in movimento
 Video: successione di immagini fisse
(frame) trasmesse in sequenza
 Con un numero abbastanza alto di
fotogrammi fissi (15-30 al secondo) la
persistenza delle immagini sulla retina fa sì
che l’occhio umano percepisce il
movimento come continuo
70
Video interallaciato vs. progressivo
 Tradizionalmente, il segnale video di tipo televisivo
utilizza un formato interallacciato
 Prima vengono generate le righe pari, poi quelle dispari
 Vengono generati 50 “semiquadri” al secondo
 Nel formato progressivo, ogni frame è costituito sia
dalle righe pari che da quelle dispari
71
Un esempio – video interallacciato
 Interallacciato (ad. es TV)
o 720 punti / linea
o 576 linee (288 linee pari, 288 linee dispari)
o 50 semiquadri al secondo
o 3 byte / pixel (RGB)
o 720 * 288 * 50 * 3 = 31.104.000 byte / sec
circa 31 Mbyte/sec  circa 250 Mbps
o 2h di film occupano (se non compressi)
 2*60*60*31 = 223.200 Mbyte  circa 223 Gbyte
o Un DVD ha una capacità di circa 4.5 Gb 
occorre un fattore di compressione pari a 223 /
4.5 = 50
72
Un esempio - video progressivo
 Progressivo (ad. es cellulare)
o 320x240 pixel
o 15 frame / secondo
o 3 byte / pixel (RGB)
o 320 * 240 * 15 * 3 = 3.456.000 byte / sec
 circa 3.5 Mbyte/sec  circa 28 Mbyte / sec
o 1 minuto di video registrato occupa (se non
compresso)
 60*3.5 = 210 Mbyte
73
Codifica video
 In linea di principio, si potrebbe codificare
separatamente ogni fotogramma come
immagine fissa
 Si è in grado di ottenere rapporti di
compressione dell’ordine 10-20 senza
eccessiva perdita di qualità
o Per mettere un film su DVD abbiamo bisogno
di un rapporto di circa 50...
74
Codifica video
 Per ottenere rapporti di compressione più alti
è necessario sfruttare la ridondanza
temporale
 Frame consecutivi in una sequenza di
immagini sono quasi sempre simili l’uno
all’altro
 Si codificano solo le differenze tra i frame
successivi
 È possibile ottenere rapporti di compressione
di 50:1 e anche fino a 100:1 senza degrado
eccessivo della qualità
75
Fotogramma 1
76
Fotogramma 2
77
Differenza tra i fotogrammi 1 e 2
78
Standard di codifica video
 MPEG (Moving Picture Experts Group):
o MPEG-1  Video CD
o MPEG-2  TV digitale, DVD
o MPEG-4  DivX
 ITU-T (International Telecommunication Union Telecommunications Standardization Sector)
o H.264  HD-DVD, Blue-ray DVD
 AVI (Audio Video, Microsoft)
o Formato «contenitore». Può contenere audio/video
compressi con formati diversi