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