• Non ci sono risultati.

Fondamenti di Informatica

N/A
N/A
Protected

Academic year: 2021

Condividi "Fondamenti di Informatica"

Copied!
78
0
0

Testo completo

(1)

Fondamenti di

Informatica

Prof. Fenza Giuseppe

Codifica di Dati Complessi [Sez: 2.5]

(2)

Contenuti Lezione 3

• Rappresentazione delle immagini • Sistemi di numerazione

– Notazioni Posizionali e Non Posizionali – Codifica Binari/Ottale/Esadecimale

• Codifica e Decodifica

– Binario ßà Decimale – Binario ßà Ottale

– Binario ßà Esadecimale

• Rappresentazione degli Interi

– “Modulo e Segno”

(3)

Rappresentazioni di immagini

Le immagini sono un ‘continuo’ e non sono

formate da sequenze di oggetti ben

definiti come i numeri

Bisogna quindi prima ‘discretizzarle’

ovvero trasformarle in un insieme di

parti distinte che possono essere

codificate separatamente con sequenze

di bit

(4)

Rappresentazione e Codifica dei Dati

Complessi: Le Immagini

Suddividiamo l’immagine mediante una griglia formata da righe orizzontali e verticali a distanza costante

(5)

Rappresentazione e Codifica dei Dati

Complessi: Le Immagini

• Ogni quadratino derivante da tale suddivisione

prende il nome di pixel (picture element) e può

essere codificato in binario secondo la seguente

convenzione:

– Il simbolo “0” viene utilizzato per la codifica di un pixel corrispondente ad un quadratino in cui il bianco è

predominante

– Il simbolo “1” viene utilizzato per la codifica di un pixel corrispondente ad un quadratino in cui il nero è

(6)

Rappresentazione e Codifica dei Dati

Complessi: Le Immagini

• Rappresentazione Binaria: – Alfabeto {0, 1} • Codifica: – 1 se è predominante il nero – 0 se è predominante il bianco • Rappresentazione:

(7)

Rappresentazione e Codifica dei Dati

Complessi: Le Immagini

(8)

Rappresentazione e Codifica dei Dati

Complessi: Le Immagini

• Ottengo una rappresentazione più fedele se

aumento il numero dei pixel (ossia al diminuire

delle dimensioni dei quadratini della griglia in cui

è suddivisa l’immagine:

(9)

Considerazioni

La perdita di informazione è accettabile nella

rappresentazione delle immagini (in alcuni casi)

ma non è accettabile nella codifica dei numeri,

dei testi, etc. (in questi casi l’informazione non

deve essere soggetta ad errori e abbiamo

(10)

Assegnando un bit ad ogni pixel è possibile

codificare solo immagini in bianco e nero

Per codificare le immagini con diversi livelli di

grigio oppure a colori si usa la stessa tecnica:

per ogni pixel viene assegnata una sequenza di

bit

Per memorizzare un pixel non è più sufficiente

un solo bit

– Per esempio, se utilizziamo quattro bit possiamo rappresentare 24 = 16 livelli di grigio o 16 colori

diversi

– Mentre con otto bit ne possiamo distinguere 28 = 256,

ecc.

(11)

…e la codifica delle immagini a colori?

(12)

Grafica Vettoriale vs

Bitmap (o Raster)

(13)

13

Immagini bitmap (raster)

Immagini ‘bitmap’ :

L’immagine viene scomposta in una griglia di

elementi detti

pixel

(da picture element)

000000000000000000000000 000000000011111111000000 000000000010000010000000 000000000010000100000000 000000000010001000000000 000000000010010000000000 000000000010100000000000 000000000011000000000000 000000000010000000000000

(14)

14

(15)

Immagini a toni di grigio o colori

Rappresentazioni dei pixel :

Ø

la rappresentazione in ‘toni di grigio’ : un byte

per pixel, con 256 gradazioni di grigio per ogni

punto, o più byte per pixel, per avere più

gradazioni possibili

Ø

rappresentazione a colori RGB (red, green,blu):

comunemente 3 byte (24 bit) per pixel che

definiscono l’intensità di ciascun colore base.

In questo modo ho circa 16 milioni di colori

diversi definibili

(16)

16

Immagini raster o vettoriali

Il formato bitmap viene anche definito formato raster,

nome che in inglese indica l'insieme di linee orizzonali che la televisione traccia sullo schermo, punto dopo punto, al fine di riprodurre l'immagine.

Il formato bitmap è idoneo per le fotografie e per tutte le immagini composte da forme non regolari.

Viene rimpiazzato dal formato vettoriale nel disegno

tecnico e architettonico, dovunque si debbano tracciare figure geometriche regolari o forme comunque complesse riconducibili a un insieme di triangoli e poligoni.

(17)

17

Immagini raster o vettoriali

Il vettore identifica il punto di partenza e di fine di una retta, la sua direzione, il suo spessore e il suo colore, ma non definisce ciascun punto della retta che viene costruito invece dal programma al momento della sua visualizzazione. Tutte le immagini stampate su una rivista o visualizzate in televisione devono essere in formato bitmap.

Le immagini create da un programma di progettazione e di disegno tecnico sono quasi sempre vettoriali. Le immagini prodotte dai giochi sono in parte bitmap (gli sfondi e alcune superfici degli oggetti) e in parte vettoriali (gli oggetti che si muovono e che cambiano nello spazio).

(18)

18

(19)

19

Occupazione in memoria (raster)

• 128 x 128 toni di grigio 128Kb

(20)

20

(21)

21

Compressione delle immagini

raster

• Quindi si cerca di ‘risparmiare’ memoria :

Ø con l’uso di una ‘tavolozza’ (

palette

) che contiene il

sottoinsieme dei colori rappresentabili che compare in una foto

Ø ogni pixel codifica un indice all’interno della

tavolozza

Ø con

tecniche di compressione

che non codificano ogni

pixel in modo autonomo ma cercano di raggruppare i le aree che hanno caratteristiche comuni

• Formati più usati : TIFF (tagged image file format), GIF (graphics interchange format), JPEG (Joint

(22)
(23)

Estensione file immagine

https://tecnologia.libero.it/da-jpeg-a-bmp-al-nuovo-heif-cosa-sono-i-formati-di-immagine-13143

(24)

Immagini video

Ø Il movimento è rappresentato già in modo discreto nei

media : infatti con un numero abbastanza alto di fotogrammi fissi (24-30 al secondo) l’occhio umano percepisce il movimento come un continuo

Øpotrei, in principio, codificare separatamente ogni

fotogramma come immagine fissa, ma lo spazio di memoria richiesto sarebbe enorme (650 MB, un intero CD per un minuto di proiezione …)

Øsono stati quindi sviluppati metodi di codifica che

economizzano, codificando solo le ‘differenze’ fra un fotogramma e l’altro (MPEG)

(25)

25

t

Codifica dei suoni

Fisicamente un suono è rappresentato come

un’onda che descrive la variazione della

pressione dell’aria nel tempo (onda sonora)

Sull’asse delle ascisse viene posto il tempo t e

sull’asse delle ordinate la variazione della

(26)

26

Si effettuano dei campionamenti sull’onda (cioè si

misura il valore dell’onda ad intervalli di tempo

costanti) e si codificano in forma digitale le

informazioni estratte da tali campionamenti

La sequenza dei valori numerici ottenuta dai

campioni può essere facilmente codificata

(27)

Codifica dei suoni

27

t

Quanto più frequentemente il valore dell’onda

viene campionato, tanto più precisa sarà la sua

rappresentazione

Il numero di campioni raccolti per ogni secondo

definisce la frequenza di campionamento che si

misura in Hertz (Hz)

(28)

Fondamenti di

Informatica

Prof. Fenza Giuseppe

Codifica Binaria di Numeri [Sez: 2.5]

(29)

I = 1 V = 5 X = 10 L = 50 LXIV = 50 +10 + 4 = 64 383 = 300+80+3 3 x 100 8 x 10 3 x 1

POSIZIONALI NON POSIZIONALI

50

10 4

significatività

• ai diversi simboli dell’alfabeto (cifre),

viene associato un valore

crescente in modo lineare da

destra verso sinistra;

• il significato di un simbolo ( il suo

valore) dipende ordinatamente dalla sua posizione nella stringa

ESEMPIO:

il sistema di numerazione

decimale arabo: 10 simboli (0, 1, 2, ...9)

• Il significato dei simboli non dipende

dalla loro posizione

• ma è stabilito in base ad una legge

additiva dei valori dei singoli simboli (se posti in ordine crescente)

ESEMPIO:

il sistema di numerazione romano

I sistemi di numerazione

(30)

Rappresentazione dei Naturali

N = 0,1,2,…

La Notazione Posizionale (in base p) Np º an an-1 an-2 … a1 a0

Np = an x pn + a

n-1 x pn-1 + … + a1 x p + a0

Esempio (base 10)

(31)

Rappresentazione dei Naturali

N = 0,1,2,…

La Notazione Additiva (numeri romani) Np º an an-1 an-2 … a1 a0 Np = an + an-1 + … + a1 + a0 I = 1, V = 5, X = 10, L = 50, C = 100, D = 500, M = 1000 Esempio DCCCII = D + C + C + C + I + I = 500 + 100 + 100 + 100 + 1 + 1 = 802 https://www.math.it/formulario/numeri_romani_convertitore.htm

(32)

9/18/19 32

Le Notazioni Usate in Informatica

Binaria (base 2) ai = 0,1

Ottale (base 8) ai = 0,1,2,3,4,5,6,7

Esadecimale (base 16) ai = 0,1,2,…,9,A,B,C,D,E,F

Decimale Binaria Ottale Esadec.

10 1010 12 A

(33)

N2 = 101010

N10 = 1 x 25 + 0 x 24 + 1 x 23 + 0 x 22 + 1 x 21 + 0 x 20

= 32 + 8 + 2 = 42

Codifica e decodifica

(Da binario a decimale)

N2 = 11011

(34)

Codifica e decodifica

(Da binario a decimale)

N2 = 11001 N10 = 1 x 24 + 1 x 23 + 0 x 22 + 0 x 21 + 1 x 20 = 16 + 8 + 1 = 25 N2 = 1001 N10 = 1 x 23 + 0 x 22 + 0 x 21 + 1 x 20 = 8 + 1= 9

(35)

Riassumendo

Binario à Decimale:

1. Mi annoto la posizione a partire dal bit più a destra con la posizione 0

2. Applico la notazione posizionale Np = an x pn + a

n-1 x pn-1 + … + a1 x p + a0

10012 = 1 x 23 + 0 x 22 + 0 x 21 + 1 x 20 = 8 + 1 = 9

Trucchi:

(*) Se il numero binario termina con un bit a 0 à il decimale è necessariamente un numero pari (e viceversa)

(**) Se il numero binario termina con un bit a 1 à il decimale è necessariamente un numero dispari (e viceversa)

(36)

9/19/19 36

N10 = 51 N2 = ???

Codifica e decodifica

(Da decimale a binario)

51 2 25 1 2 12 1 2 6 0 2 3 0 2 1 1 2 1 0 N2 = 110011 51 = 2x25+1 = 2x(2x12+1)+1 = 2x(2x(2x6+0)+1)+1 = = 2x(2x(2x(2x3+0)+0)+1)+1 = = 2x(2x(2x(2x(2x1+1)+0)+0)+1)+1 = 25+24+21+20

(37)

N10 = 42 N2 = ???

Codifica e decodifica

(Da decimale a binario)

42 2 21 0 2 10 1 2 5 0 2 2 1 2 1 0 2 1 0 N2 = 101010

(38)

N10 = 127 N2 = ???

Codifica e decodifica

(Da decimale a binario)

127 2 63 1 2 31 1 2 15 1 2 7 1 2 3 1 2 1 1 N2 = 1111111 2 1 0

(39)

Riassumendo

Decimale à Binario:

1. Divido per 2 finché il risultato della divisione non è 0 2. Leggo il numero binario prendendo i resti di tutte le

divisioni a partire dall’ultima divisione eseuita

Trucchi:

(*) Se il numero decimale è pari à il binario termina con un bit a 0 (e viceversa)

(**) Se il numero decimale è dispari à il binario termina con un bit a 1 (e viceversa) 9 2 4 1 2 2 0 2 1 0 2 0 1

(40)

Esercizi da svolgere

(Binario à Decimale)

9 25 42 58 127 7 2 15 10 10012 è N10 = 9 110012 è N10 = 25 1010102 è N10 = 42 1110102 è N10 = 58 11111112 è N10 = 127 1112 è N10 = 7 0102 è N10 = 2 11112 è N10 = 15 10102 è N10 = 10

(41)

910 è N2 = 1001 2510 è N2 = 11001 4210 è N2 = 101010 5810 è N2 = 111010 1272 è N2 = 1111111 710 è N2 = 111 210 è N2 = 10 1510 è N2 = 1111 1010 è N2 = 1010 10012 110012 1010102 1110102 11111112 1112 102 11112 10102

Esercizi da svolgere

(Decimale à Binario)

10

(42)

Da Binario a Ottale/Esadecimale

Per trasformare un numero binario in ottale, operiamo la trasformazione

(43)

N2 = 1 0 0 1 1 0 1 1 1 1 0

Da Binario a Ottale

N8 = 2 3 3 6

Per trasformare un numero binario in ottale, operiamo la trasformazione considerando gruppi di 3 bit

(44)

N2 = 1 0 0 1 1 0 1 11 1 0

Da Binario a Esaecimale

N16 = 4 D E

Per trasformare un numero binario in esadecimale, operiamo la

trasformazione considerando gruppi di 4 bit Ricorda che: 110 = 116 = 00012 210 = 216 = 00102 ... 910 = 916 = 10012 1010 = A16 = 10102 1110 = B16 = 10112 1210 = C16 = 11002 1310 = D16 = 11012 1410 = E16 = 11102 1510 = F16 = 11112

(45)

9/19/19 45

Riassumendo

Binario à Ottale:

1. Raggruppo a 3 a 3 i bit a partire dall’ultimo bit più a destra

2. Converto ciascun gruppo nella corrispondente cifra ottale

Binario à Esadecimale:

1. Raggruppo a 4 a 4 i bit a partire dall’ultimo bit più a destra

2. Converto ciascun gruppo nella corrispondente cifra esadecimale

(46)

Esercizi (Binario à Ottale)

10012 è N8 = ? 110012 è N8 = ? 1010102 è N8 = ? 1110102 è N8 = ? 11111112 è N8 = ? 1112 è N8 = ? 0102 è N8 = ? 11112 è N8 = ? 10102 è N8 = ? 118 318 528 728 1778 78 28 178 128

(47)

Esercizi

10012 è N16 = ? 110012 è N16 = ? 1010102 è N16 = ? 1110102 è N16 = ? 11111112 è N16 = ? 1112 è N16 = ? 0102 è N16 = ? 11112 è N16 = ? 10102 è N16 = ? 916 1916 2A16 3A16 7F16 716 216 F16 A16

(48)

Base 16

• Quali dei seguenti numeri esadecimali sono numeri sono corretti? BED CAR 938 DEAD BEBE A129 ACI DECADE BAG DAD 4H3

(49)
(50)
(51)
(52)

Fondamenti di

Informatica

Prof. Fenza Giuseppe

Codifica Binaria di Numeri [Sez: 2.5]

(53)

Qualche Domanda

(54)

Tabella ASCII /

(55)

Qualche Domanda

• Cos’è la tabella ASCII?

• Ogni programmatore ha la codifica

(56)

Codifica UNICODE

• Codifica Unicode: una tavola di codifica

basata su più di 8 bit

– Unicode ha l’obiettivo di includere tutti i

caratteri rappresentabili al mondo.

– Unicode originariamente era codifica a 16 bit

• Capace di codificare 65.536 caratteri.

– Attualmente Unicode è una codifica a 21 bit

(57)

Qualche Domanda

• Cos’è la tabella ASCII?

• Ogni programmatore ha la codifica

UNICODE stampata sulla sua scrivania?

• Come si trasforma il segnale da analogico

a digitale?

(58)

Campionamento e

quantizzazione

Ampiezza della grandezza fisica

(59)

Campionamento e

quantizzazione

Ampiezza della grandezza fisica Tempo Va lo ri r ap pr es en ta ti vi

(60)

Campionamento e

quantizzazione

Ampiezza della grandezza fisica Tempo Va lo ri r ap pr es en ta ti vi

(61)

Campionamento e

quantizzazione

Ampiezza della grandezza fisica Tempo Va lo ri r ap pr es en ta ti vi

(62)

Errore di Quantizzazione

• La digitalizzazione è un processo che introduce

inevitabilmente errori di rappresentazione del segnale analogico originale

• In particolare, la quantizzazione introduce due errori di approssimazione:

– Approssimazione di tutti i valori presenti in un intervallino con una loro aggregato (per esempio la media) rappresentativa – Approssimazione di tale media al più vicino valore conosciuto

(63)

Qualche Domanda

• Cos’è la tabella ASCII?

• Ogni programmatore ha la codifica

UNICODE stampata sulla sua scrivania?

• Come si trasforma il segnale da analogico

a digitale?

• Come calcolo il numero di bit che

(64)

Codifica Binaria

• Con 8 bit si possono costruire 256 parole

• Quante parole binarie si possono costruire

con k bits?

– Notiamo che passando da k-1 bit a k bit il

numero di parole raddoppia

• Infatti, per costruire tutte le parole possibili composte da k bit, basta aggiungere prima 0 e poi 1 a tutte le parole lunghe k-1 bit.

• k=1 à 0, 1

• k=2 à 00, 01, 10, 11

• k=3 à 000, 001, 010, 011,100, 101, 110, 111

(65)

Qualche Domanda

• Quanti bit sono necessari per codificare i

giorni della settimana? E i giorni del

(66)
(67)
(68)

Quanti messaggi rappresento

con k bit

Qual’è il massimo numero che possiamo

rappresentare con k bit

• 2

k

- 1

• K= 5 2

5

- 1 = 31 è il massimo valore

• K= 4 2

4

- 1 = 15 è il massimo valore

• K= 7 2

7

- 1 = 127 è il massimo valore

• 2

k

• K= 5 2

5

= 32 messaggi

• K= 4 2

4

= 16 messaggi

• K= 7 2

7

= 128 messaggi

(69)

Qualche Domanda

• Quanti bit sono necessari per codificare i

giorni della settimana? E i giorni del

mese?

• Che si intende per convergenza al

digitale?

(70)

Convergenza al digitale

• La Convergenza al Digitale è il

processo di progressivo

trasferimento verso il formato digitale di informazioni

tradizionalmente collegate a media diversi.

• Con la convergenza al digitale:

– si unificano i supporti (memorie di massa, rete) – si unificano le tecnologie di produzione

(71)

Qualche Domanda

• Quanti bit sono necessari per codificare i

giorni della settimana? E i giorni del

mese?

• Che si intende per convergenza al

digitale?

• Come rappresento un’immagine in

binario?

(72)

Rappresentazione e Codifica dei Dati

Complessi: Le Immagini

• Rappresentazione Binaria: – Alfabeto {0, 1} • Codifica: – 1 se è predominante il nero – 0 se è predominante il bianco • Rappresentazione:

(73)

Rappresentazione e Codifica dei Dati

Complessi: Le Immagini

(74)

Rappresentazione e Codifica dei Dati

Complessi: Le Immagini

• Ottengo una rappresentazione più fedele se

aumento il numero dei pixel (ossia al diminuire

delle dimensioni dei quadratini della griglia in cui

è suddivisa l’immagine:

(75)

…e la codifica delle immagini a colori?

(76)

Qualche Domanda

• Quanti bit sono necessari per codificare i

giorni della settimana? E i giorni del

mese?

• Che si intende per convergenza al

digitale?

• Come rappresento un’immagine in

binario?

• Che differenze ci sono tra le immagini

raster e quelle vettoriali?

(77)
(78)

Raster vs Vettoriale

• Raster

– È un immagine composta da pixel – La qualità dipende dalla risoluzione

– Più realistica e meno somigliante a un disegno

– Occupa più spazio in base alla grandezza e consumano più inchiostro

– Fotografie, miscele di colori, etc.

• Vettoriale

– La grafica vettoriale è scalabile all’infinito

– La grafica vettoriale permette di modificare i colori in modo semplice e veloce

– Il vettoriale offre la possibilità di visualizzare i contorni di un disegno

Figura

Tabella ASCII /

Riferimenti

Documenti correlati

Nello stesso 1791 il giudice delegato del Tribunale apostolico, il ventenne Faustino Cesare Baille, che si era laureato l’anno prima nell’ateneo cagliaritano, redige la

552 For the time being, however, it seems unlikely that the government will change its policy soon and China’s sovereigntist approach to international law makes it

Alle istituzioni della Sardegna moderna aveva dedicato altri studi come quelli sul problema della chiusura dei campi, degli omicidi e delle armi proibite nell’età di Carlo Alberto, dei

Nella produzione editoriale del secondo Quattrocento il libro universitario non occupa una posizione preminente rispetto, ad esempio, alle edizioni di classici, ai testi devozionali

smaller ions 兲 so that the solvation molecules follow the ion motion in time, with occasional exchanges between solvation shells: one molecule from the first solvation shell escapes

(descri- zione codicologica ibid., pp. - L'edizione critica è stata curata da Henri Quentin in collaborazione con Hippolyte Delehaye: Acta Sanctorum Novembris. Collecta,

Così ad esempio, alla metà degli anni '90 del secolo scorso, due antropologi di rilievo come Marc Augè e Clifford Geertz, con un background culturale differente,

This paper reviews the major (Calcium, Phosphorus, Potassium, Sodium, Chlorine, Sulphur, Magnesium) and the trace elements (Iron, Copper, Cobalt, Iodine, Manganese, Zync,