vuoi
o PayPal
tutte le volte che vuoi
Rappresentazione di caratteri e stringhe
• Codifiche di uso comune :
- il codice ASCII (American Standard code For Information Interchange) su 7 o 8 bit
- il codice UNICODE su 16 bit (più recente, permette di rappresentare anche alfabeti diversi e simboli per la scrittura di lingue orientali)
Le stringhe sono generalmente sequenze di caratteri terminate in modo particolare
Codice ASCII
• con 7 bit codifica:
- i caratteri dell'alfabeto anglosassone (maiuscole e minuscole)
- le cifre
- i segni di punteggiatura
- gli operatori aritmetici
- caratteri speciali
Codice ASCII 7
• 7 bit, quindi 2^7 = 128 configurazioni
utilizzando un byte per ogni carattere, il primo bit (degli otto) è sempre a 0 ... oppure a 1 nel caso di ASCII esteso, che rappresenta caratteri particolari per una certa applicazione
o | alfabeto (per es. lettereaccentate) |
• | si crea una tabella di codifica 13 |
Informatica Generale Maria De Marsico | Codice ASCII |
• | i primi 32 caratteri ASCII sono destinati a simboli speciali non stampabili, per es. 'fine riga', 'a capo': 0000000, 0000001, …, 0100000 … retaggio delletelescriventi |
• | seguono alcuni segni di punteggiatura: 01000001 è il ! |
• | poi i numeri: 0110000 è 0; 0110001 è 1, 0111001 è 9 |
• | … ma la codifica ASCII non è adatta per i calcoli |
• | ... in pratica ad ogni carattere corrisponde un numero dato dalla sua posizione nella tabella di codifica |
• | … e quando ordiniamo un testo, il computer segue l'ordine dato dalla posizione del carattere nella tabella ASCII (le maiuscole vengono prima !!!) 14 |
Informatica Generale Maria De Marsico | Codice ASCII |
• | per scrivere in ASCII una parola si mettono in sequenza le codifiche ASCII dei caratteri che compongono la parola |
1100001n 1101110n 1101110i 1101001• viceversa, per capire che cosa significa una sequenza di caratteri ASCII:
- si spezza la sequenza in stringhe di otto bit
- si fa corrispondere a ogni stringa il carattere opportuno
15Informatica Generale Maria De Marsico 5Nota
- Nei linguaggi di programmazione (ma anche nelle basi di dati, cioè negli “archivi” elettronici) il tipo di un dato determina l’insieme di valori che questo dato potrà assumere
- Es. se un dato è stato dichiarato come numero intero, non potrò assegnargli un carattere
16Informatica Generale Maria De Marsico Nota
- Nei linguaggi di programmazione i tipi di dato elementari che vengono gestiti sono:
- integer: interi
- float: razionali in singola precisione
- double: razionali in doppia precisione (usano il doppio dello spazio di memoria)
- character: carattere (ogni carattere è 1 byte oppure 2 se la codifica è UNICODE)
17Informatica
Generale Maria De Marsico
Nota:
- Il tipo strutturato più semplice è l'array (vettore) a 1 dimensione:
- contiene una lista di elementi TUTTI dello stesso tipo (interi, caratteri, ecc.)
- ogni elemento è raggiungibile attraverso il suo indice (posizione)... attenzione, di solito partono da 0!
- Es. abbiamo un array di 10 interi chiamato Lista e dichiarato come Lista[10]: il primo numero sarà Lista[0], il quinto numero sarà Lista[4]... 5 6 7 8 9 0 1 2 3 4
- Valori:
- una stringa viene di solito dichiarata come array di caratteri
Generale Maria De Marsico
Nota:
- Gli array possono avere anche più dimensioni
- Array a due dimensioni = matrice
- abbiamo righe e colonne
- ogni elemento è identificato dagli indici di riga e colonna della sua posizione
Rappresentazione di
immagini• Le immagini “naturali” sono un fenomeno ‘continuo’• Sono generate dalla combinazione di una sorgente che emette energia e da oggetti di una scena che riflettono l'energia emessa dalla sorgente. Occorre un “sensore” sensibile all'energia prodotta dalla sorgente che raccoglie l'energia “irradiata” dalla scena. sensore sorgente oggetto riflettente 20Informatica Generale Maria De Marsico
Rappresentazione di immagini• Il colore è la percezione visiva generata dai segnali nervosi che i fotorecettori (sensori) della retina mandano al cervello quando assorbono radiazioni elettromagnetiche di determinate lunghezze d'onda e intensità.• Nella maggior parte dei casi l’energia coinvolta è quella elettromagnetica (immagini “visibili”, immagini all'infrarosso, radar, raggi X etc.), ma si hanno anche immagini di altra natura (basate ad esempio su ultrasuoni)• ad es.
le radiazioni infrarosse hanno lunghezza d'onda maggiore (frequenza minore) della luce e trasportano energia inferiore, e informazioni termiche vengono trasformate in "falsi colori".
La tecnica degli ultrasuoni si basa sulla trasmissione di onde ultrasonore e sull'emissione di eco.
Rappresentazione di immagini:
- Per poter essere elaborate e memorizzate su un calcolatore, le immagini vanno prima 'discretizzate' (digitalizzate), ovvero trasformate in un insieme di parti distinte che possono essere codificate separatamente con sequenze di bit.
Georges Seurat, "Una domenica pomeriggio all'isola della Grande Jatte", 1883-85
Immagini digitali:
- Un'immagine digitale è composta da una griglia (cioè una matrice!) fittissima di puntini colorati detti pixel (dalla contrazione di picture element).
- Ogni pixel viene codificato usando
“gruppi” di 0 e 1
- Per convenzione il punto (0,0) corrisponde all’angolo in alto a sinistra e si procede dall’alto verso il basso e da destra a sinistra
- Se l’immagine è in bianco e nero (attenzione: senza grigi!) è sufficiente usare 1 bit per pixel
- 0 per i pixel in cui il bianco è dominante
- 1 per i pixel in cui il nero è dominante
Informatica Generale Maria De Marsico
Bitmap
- Immagini ‘bitmap’ o mappe di bit:
- l’immagine viene scomposta in una griglia di elementi detti pixel (da picture element)
- ogni pixel è rappresentato da uno o più bit
000000000000000000000000000000000011111111000000000000000010000010000000000000000010000100000000000000000010001000000000 un pixel
000000000010010000000000000000000010100000000000000000000011000000000000000000000010000000000immagine codifica
Informatica Generale Maria De Marsico 8
Immagini più complesse
L'immagine ha più di due colori, si fa corrispondere ad ogni pixel un numero preso da una tabella di codifica dei colori o tavolozza dei colori o palette dei colori.
Il numero di colori disponibili (profondità del colore) è determinato dal numero di bit utilizzati per il singolo pixel.
Informatica Generale Maria De Marsico
Rappresentazione di immagini:
- la rappresentazione in 'toni di grigio': un byte per pixel, con 256 gradazioni di grigio per ogni punto (immagini bianco e nero), o più byte per pixel, per avere più gradazioni possibili
- rappresentazione a colori RGB (red, green, blue): comunemente 3 byte per pixel che definiscono l'intensità di ciascun colore base. In questo modo ho circa 16 milioni di colori diversi definibili
Informatica Generale Maria De Marsico
Ricordiamo che...
- Digitalizzazione
- Campionamento
- Risoluzione = numero di rilevamenti in
Un intervallo di spazio o di tempo• Quantizzazione = approssimazione del valore di un intero sottointervallo con un unico valore “medio” rappresentativo• Livello di quantizzazione = numero dei possibili valori
Informatica Generale Maria De Marsico 9
Per le immagini 2D• Il procedimento è lo stesso.• Invece di intervalli di campionamento avremo in pratica una griglia a due dimensioni (matrice)• Non sempre il contorno della figura coincide con la griglia, quindi otteniamo una approssimazione…• … migliore all’aumentare della risoluzione, cioè del numero di pixel, e quindi al diminuire della dimensione del quadratino della griglia
Informatica Generale Maria De Marsico
Risoluzione
Informatica Generale Maria De Marsico
Risoluzione• La risoluzione di un dispositivo dipende dai punti (pixel) visualizzati• Per uno schermo si esprime in numero di pixel per base e altezzaו Es. 640 480 significa 640 pixel
(colonne) per riga×su 480 righe, 1024 768 visualizza 1024 pixel perriga su 768 righe•
Per una stampante si parla di punti per pollice(dots per inch = dpi – 1 pollice = 2,54 cm)•
getto d’inchiostro 300 dpi, laser 1200 dpi 30Informatica Generale Maria De Marsico 10Rappresentazione di immagini•
La rappresentazione accurata di una immaginedipende•
dal numero di pixel (risoluzione)•
dalla codifica del pixel (profondità del colore)•
… e richiede generalmente molta memoriatipo defin numero colori num. byteimm. televisiva 720×625 256 440 KBSVGA 1024×768 65536 1.5 MBfoto 15000×10000 16milioni 430 MB31Informatica Generale Maria De MarsicoCompressione•
Quindi si cerca di ‘risparmiare’ memoria :•
con l’uso di una ‘tavolozza’ (palette) che contiene unsottoinsieme dei colori rappresentabili che compare in unafoto, sfruttando il fatto che in realtà l’occhio umano