Definizioni Esempi di alfabeti

Fondamenti di Informatica
Definizioni
SIMBOLO: entità minima significativa
STRINGA: sequenza finita di simboli
giustapposti (lunghezza della stringa,
stringa vuota)
ALFABETO: insieme finito di simboli
LINGUAGGIO: insieme di stringhe di
simboli tratti da un alfabeto
104
Fondamenti di Informatica
Esempi di alfabeti
–
–
–
–
–
–
–
Esempi di alfabeti
• Alfabeto italiano:
{A, B, C, D, …Z}
• Alfabeto greco:
{á, â, ã, ä, ...ù}
• Alfabeto binario:
{0, 1}
105
1
Fondamenti di Informatica
Alfabeto usato dal calcolatore
–
–
–
–
–
• Interruttore (aperto/chiuso)
• Foro su scheda (aperto/chiuso)
• Transistor (in conduzione/spento)
• Tensione (alta/bassa)
• Dominio di magnetizzazione (./¯)
106
Fondamenti di Informatica
Codice BCD
–
–
–
–
–
–
–
–
–
–
BCD: Binary Coded Decimal
Simbolo: Codifica:
0 0000
1 0001
2 0010
3 0011
4 0100
…
8 1000
9 1001
107
2
Fondamenti di Informatica
Codifica dei testi
– Codice ASCII: American Standard Code for
Information Interchange
– 7 bit quindi 128 simboli diversi
• Comando, alfanumerici, simboli
– ASCII esteso (8bit)
• diverse estensioni in dipendenza dal paese
• Estensioni matematiche
• oppure aggiunge la parità
108
Fondamenti di Informatica
ASCII
109
3
Fondamenti di Informatica
ASCII
110
Fondamenti di Informatica
Codifica delle immagini
L’immagine digitale:
• Un’immagine pittorica è composta da milioni di pigmenti colorati
molto piccoli che, messi vicino l’uno all’altro, danno l’impressione dei
vari oggetti.
• Questi punti sono disposti in modo irregolare e diventano visibili se
ingrandiamo di molto qualche dettaglio dell’immagine; vengono
chiamati grana.
111
4
Fondamenti di Informatica
Codifica delle immagini
• In un’immagine digitale vige lo stesso principio
con la differenza che i puntini sono disposti in
modo regolare, su una griglia di punti equidistanti.
• Essi sono detti pixel che sta per PIcture ELements.
• La loro struttura regolare è facilmente visibile
ingrandendo l’immagine.
112
Fondamenti di Informatica
Dimensione di un’immagine
digitale
• I pixel che compongono un’immagine
rappresentano la dimensione dell’immagine stessa.
• La dimensione è espressa indicando separatamente
il numero di pixel orizzontali e il numero di pixel
verticali, ad esempio 768 x 1024 pixel
113
5
Fondamenti di Informatica
Risoluzione
• Un’immagine digitale di una determinata dimensione può
essere visualizzata su un qualche supporto (carta, monitor,
...) a diverse grandezze (centimetri).
• Al variare delle dimensioni di visualizzazione cambia la
risoluzione dell’immagine.
• La risoluzione dipende dalle dimensioni dell’immagine,
ma anche dalle dimensioni del supporto.
• La risoluzione di misura in punti/cm o, più comunemente,
punti/pollice (dpi).
114
Fondamenti di Informatica
Risoluzione
• In parole povere il concetto di risoluzione è legato a quanto
sono fitti i punti che visualizziamo.
• E’ importante notare che una certa risoluzione può non
essere sufficiente se l’immagine deve essere riprodotta in
grandi dimensioni.
115
6
Fondamenti di Informatica
Risoluzione
dimensione immagine
640x480
800x600
1024X768
14’’
60
74
95
15’’
57
71
91
17’’
51
64
82
19’’
44
56
71
21’’
41
51
65
risoluzione immagine in dot per inch
116
Fondamenti di Informatica
Scala dei toni
• Nel caso di immagini cosiddette “in bianco e
nero” la scala dei toni è costituita dai livelli di
grigio che la compongono.
• Nelle immagini a colori la scala dei toni è data
dalle varie sfumature di colore.
117
7
Fondamenti di Informatica
Scala dei toni
• Per poter elaborare e gestire un’immagine digitale
è necessario che l’informazione in essa contenuta
sia espressa in bit.
• A seconda della complessità della scala di toni
scelta, un byte (8 bit) potrà contenere informazioni
relative a uno o più pixel o a parte di un pixel.
118
Fondamenti di Informatica
Scala dei toni
• Un’associazione molto usata è quella di riservare un byte
ad un pixel, nel caso di immagini a livelli di grigio.
• Questo significa che possiamo rappresentare fino a 28=256
livelli di grigio.
119
8
Fondamenti di Informatica
Color Depth
(Profondità di colore)
• E’ il numero di bit riservati ad ogni pixel.
• Un’immagine rappresentate con una profondità di
colore di 6 bit, riesce a distinguere tra 64 livelli di
colore, mentre con 8 bit si arriva a 256 e aumenta
il livello di dettaglio
• E’ una misura della capacità di rappresentare o
distinguere varie sfumature di colore.
120
Fondamenti di Informatica
Profondità di colore
~16 milioni
di colori (24 bit)
256 color (8 bit)
16 color (4 bit)
121
9
Fondamenti di Informatica
Profondità di colore
• occupazione=
(profondità) x (numero di pixel) x
(numero canali di colore)
122
Fondamenti di Informatica
Compressione
La compressione è una particolare operazione di codifica, nella
quale l'obiettivo è la generazione di un messaggio codificato che
abbia una dimensione minore del messaggio sorgente
123
10
Fondamenti di Informatica
Compressione Lossless
124
Fondamenti di Informatica
Compressione Lossy
125
11
Fondamenti di Informatica
Rapporto di compressione (CR):
•La stessa informazione può essere rappresentata con differenti
quantità di dati: occorre utilizzare la codifica che occupa una quantità
minima di bit per mantenere la stessa quantità di informazione.
CR = n1 / n2 (n1 = dati dell’immagine originale,n2 = dati dell’immagine compressa)
Possono verificarsi tre situazioni:
CR ˜ 1 ⇔ n1 = n2 scarsa compressione
CR → ∞ ⇔ n1 >> n2 grande compressione
CR → 0 ⇔ n1 < n2 cattiva compressione,
126
Fondamenti di Informatica
Dati Multimediali
• Presentazione a parte.
127
12
Fondamenti di Informatica
Algebra di Boole
Concetti di base
128
Fondamenti di Informatica
Algebra di Boole
E’ un’algebra basata su tre operazioni logiche
OR
AND
NOT
Ed operandi che possono avere due soli valori:
vero (1)
falso (0).
Tramite questa algebra di possono comporre espressioni
logiche che possono essere vere o false.
Ad esempio: (X AND Y)OR Z oppure (NOT A)OR B
129
13
Fondamenti di Informatica
Algebra di Boole: Tavole di verita’
Le operazioni dell’algebra di Boole sono definite tramite le Tavole di
verità.
130
Fondamenti di Informatica
Algebra di Boole
Esempi:
vero AND vero = vero
falso AND vero = falso
vero OR vero = vero
falso OR vero = vero
falso OR falso = falso
1 AND 1
0 AND 1
1 OR 1 = 1
0 OR 1 = 1
0 OR 0 = 0
=1
=0
NOT vero = falso NOT 1 = 0
NOT falso = vero NOT 0 = 1
131
14
Fondamenti di Informatica
Algebra di Boole
Esempio di una tavola di verità per due espressioni logiche
132
Fondamenti di Informatica
Algebra di Boole e Porte Logiche
Porte Logiche
Sono elementi circuitali che corrispondono alle operazioni
logiche e che possono essere combinati per effettuare
operazioni più complesse.
Ad esempio, tramite le porte logiche possono essere definiti
circuiti sommatori.
133
15
Fondamenti di Informatica
Tabelle di verita’: tutte le tipolog.
134
Fondamenti di Informatica
Algebra di Boole: funzioni booleane
Funzioni di variabili booleane che assumono soltanto i valori 0 e
1.
Definite tramite tabelle di verità, nelle quali si indicano il valore
assunto dalla funzione per ogni possibile combinazione delle
variabili.
Esempio: F (x1,x2 ) definita da
135
16
Fondamenti di Informatica
Algebra di Boole: funzioni booleane
Normalmente rappresentate nella forma di espressioni booleane,
in cui le variabili booleane sono combinate tramite i quattro
operatori fondamentali:
136
Fondamenti di Informatica
Leggi di De Morgan
• not(A or B) = not(A) and not(B)
(NOR)
• not(A and B)= not(A) or not(B)
(NAND)
Esempio: creare un sistema di addizione bit a bit con Carry
(solo un elemento)
137
17