Informatica e calcolatori
La rappresentazione delle informazioni
Inform - automatica (dal francese)
- Scienza del trattamento razionale, particolarmente con macchine automatiche, delle informazioni considerate come supporto delle conoscenze umane e delle comunicazioni in tutti i settori.
- Da non confondere con scienza dei calcolatori, ma scienza del trattamento dell'informazione.
Definizione di informatica: Scienza della rappresentazione e dell'elaborazione dell'informazione.
L'informatica tratta:
- L'informazione e la sua codifica.
- Le tecniche per raccoglierla, memorizzarla, distribuirla, trasformarla,...
- Il calcolatore, il suo funzionamento, le possibilità che offre per la trasformazione dell'informazione, le tecniche di utilizzo...
- La comunicazione tra elaboratori, tra persone (mediata dal calcolatore).
Struttura del computer
- Hardware
- Software
- Firmware
Hardware
Struttura fisica del calcolatore formata da parti meccaniche, elettriche, elettroniche (video HD, tastiera modem, CPU, etc...).
"L'hardware è la parte che si può prendere a calci (non in laboratorio)"
Software
- Componente del calcolatore costituita dai programmi di base e dai programmi applicativi per la gestione e l'uso del sistema.
- Software di sistema
- Software applicativo (Libre Office per esempio)
"Il software è la parte contro cui si può solo imprecare"
Firmware
Software cablato direttamente in chip hardware non facilmente modificabile. È una componente software più che hardware. Es.: flash BIOS e successive soluzioni.
"Il firmware è la parte contro cui non si può fare proprio nulla"
Elaborazione
Elaborare un'informazione significa operare secondo precise modalità su un insieme di informazioni al fine di risolvere un determinato problema.
(Nota bene: parliamo sempre di informazioni, non di dati)
Algoritmo
Per algoritmo intendiamo un testo contenente una successione ben definita di prescrizioni o istruzioni che esprime l'insieme delle azioni da compiere per poter risolvere uno specifico problema (Es.: preparazione del caffè - tante operazioni ripetitive e quotidiane che portano alla soluzione del problema - fare colazione).
Programmi
Programma: codifica di un dato algoritmo in un opportuno linguaggio di programmazione (ossia linguaggio che può essere elaborato da un computer).
- Grammatica: uso di un particolare vocabolario.
- Sintassi: correttezza formale delle "frasi" scritte nel programma, rispetto al linguaggio di programmazione scelto.
- Semantica: correttezza sostanziale del programma in termini di "significato".
Un programma può essere corretto sintatticamente ma scorretto semanticamente (non risolve correttamente il problema per cui è stato ideato).
Processo
Qualsiasi programma o parte di esso opportunamente tradotto in linguaggio macchina e caricato in memoria principale diventa un programma.
- Processi di sistema
- Processi utenti/applicativi (servono per far funzionare il sistema operativo)
Tipi di informazione
- Testo (caratteri)
- Numeri
- Suoni
- Immagini
Le informazioni sono concetti astratti che esistono indipendentemente dalla loro rappresentazione. In sostanza possiamo dire che tutto ciò che ci circonda è informazione.
Informazione digitale
Informazione → Codifica → Rappresentazione digitale → File
Rappresentazione digitale → Decodifica → Informazione
Codifica dell'informazione
Idea di base: Usare
- Presenza/assenza di carica elettrica
- Passaggio/non passaggio di corrente/luce
Binary digiT (cifra binaria): il BIT
Usiamo cioè una rappresentazione binaria (a due valori) dell'informazione. Con 1 BIT rappresentiamo solo 2 diverse informazioni: si/no, on/off, 0/1, vero/falso. Mediante un bit è possibile rappresentare due informazioni, ognuna delle quali viene fatta corrispondere convenzionalmente a uno dei due stati "0" e "1"; per poter rappresentare un maggior numero di informazioni è necessario usare sequenze (aggregazioni) di bit.
- 2 BIT: 4 informazioni (00-01-10-11)
- Es.: un esame può avere quattro possibili esiti (lo stesso esempio può essere fatto anche il tempo meteorologico):
- Ottimo (00)
- Discreto (01)
- Sufficiente (10)
- Insufficiente (11)
Con 2 BIT si codificano 4 informazioni (22)
Con 3 BIT si codificano 8 informazioni (23)
Con N BIT si codificano 2N informazioni
Se dobbiamo rappresentare più di 4 informazioni occorre aggiungere il terzo BIT, tante parole quanti sono i concetti:
- 000 ; 001
- 010 ; 011
- 100 ; 101
- 110 ; 111
Se dobbiamo rappresentare 21 concetti diversi mi servono:
N2 >= M dove M = 21
- 25 = 32
Alcune sequenze (da 22 a 32) non vengono utilizzate. Se N fosse = 4 avrei 16 combinazioni di valori e potrei solo rappresentare 16 concetti, non riuscendo ad arrivare a 21, quindi uso N = 5.
Per rappresentare 57 informazioni diverse dobbiamo usare gruppi di almeno 6 BIT, infatti:
- 26 = 64 > 57
Cioè un gruppo di 6 BIT può assumere 64 configurazioni diverse.
In generale, con N BIT, ognuno dei quali può assumere 2 valori, possiamo rappresentare 2N informazioni diverse.
Viceversa; per rappresentare M informazioni dobbiamo usare N BIT, in modo che:
N2 >= M
Il Byte
In informatica ha assunto particolare importanza il concetto di:
BYTE = 8 Bit = 28 = 256 informazioni diverse.
Il BYTE è usato come unità di misura per indicare le dimensioni della memoria, le dimensioni del disco, la potenza di un elaboratore. Usando sequenze di BYTE (e quindi aggregato di 8 Bit) si possono rappresentare caratteri, numeri, immagini, suoni. Il BYTE permette di rappresentare tutto l'alfabeto occidentale e alcune lettere accentate tipiche di alcune lingue.
Multipli del Byte
Di solito si usano i multipli del Byte:
- 10 Kilo: KB 210 (circa mille byte, 1024)
- 20 Mega: MB 220 (circa un milione, 1KB X 1024)
- 30 Giga: GB 230 (circa un miliardo, 1MB X 1024)
- 40 Tera: TB 240 (circa mille miliardi, 1GB X 1024)
Codifica dei caratteri
Il primo problema di codifica che si presenta se vogliamo poter comunicare con il calcolatore usando il nostro linguaggio, è quello di rappresentare l'alfabeto. È necessario individuare un codice numerico per rappresentare i caratteri.
Il codice ASCII (American Standard Code for Interchange Code) usa i primi 7 Bit di ogni Byte:
- 27 = 128 caratteri diversi
Sufficienti per l'alfabeto anglosassone. Per la codifica di 127 caratteri standard, sono sufficienti 7 Bit (ASCII standard). Talvolta occorre utilizzare:
- 8 Bit (ASCII esteso): 256 caratteri
- 16 Bit (UNICODE): 65,535 caratteri (sarebbero 65,536 ma lo 0 è un carattere nullo e non viene conteggiato). UNICODE ha come obiettivo quello di codificare tutti gli alfabeti. Il codice UNICODE è compatibile con quello ASCII nel senso che le prime configurazioni coincidono con quelle del codice ASCII.
- MS Windows usa un codice proprietario a 16 Bit per carattere, simile a UNICODE ma non totalmente standard, chiamato MULTILANGUAGE.
- 8 Bit (EBCDIC: Extendend Binary Coded Decimal Interchange Code) usato per i display LCD.
Codifica delle parole
Per la lettura di un file (ASCII) (ad esempio un normalissimo file pippo.txt) il sistema memorizza lunghe sequenze di codici ASCII. La decodifica consiste nella suddivisione in blocchi di 8 Byte, alla ricerca del simbolo grafico corrispondente. Infatti, così come una parola può essere vista come sequenza di caratteri, un numero può essere visto come una sequenza di cifre.
Il codice ASCII consente di codificare le cifre decimali da "0" a "9" fornendo in questo modo un metodo per la rappresentazione dei numeri.
- Il numero 324 può essere rappresentato dalla sequenza di Byte: 00110011 (3) / 00110010 (2) / 00110100 (4).
Ma attenzione, si tratta di rappresentazioni di simboli e non del valore numerico 324 da utilizzare nelle operazioni matematiche.
Codifica dei numeri (esadecimale)
Il sistema posizionale in cui ogni cifra di un numero assume valore che dipende dalla sua posizione (Notazione posizionale)
- 245 = 2x100 + 4x10 + 5
- 851 = 8x10 + 5x10 + 1
Codifica dei numeri (binario)
Utilizza una notazione posizionale basata su 2 cifre (0 e 1) e potenze di 2. Esempio 10110 ovvero:
1x24 + 0x23 + 1x22 + 1x21 + 0x20 = 22
Il numero più grande rappresentato con N cifre:
- Sist. Decimale = 99...99 = 10N - 1
- Sist. Binario = 11..11 = 2N - 1
- Esempio: 11111111 (8 bit binari) = 28-1 = 255. Per rappresentare il n. 256 ci vuole un bit in più: 100000000 = 1 * 28 = 256.
Conversione da base 2 a base 10
Basta moltiplicare ogni bit per il suo peso e sommare il tutto:
Esempio: 10100
- 1 * 24 + 0 * 23 + 1 * 22 + 0 * 21 + 0 * 20 = 16 + 4 = 20
La conversione è una somma di potenze (Nota bene: se il numero binario termina per 1 è dispari altrimenti è pari).
Conversione da base 10 a base 2
- Dividere il numero per 2 ripetutamente finché il risultato non è 0
- Scrivere i resti in ordine inverso.
Esempio: conversione del numero 12
Divisioni: 12/2 = 6/2 = 3/2 = 1/2 = 0
Resti: 0 0 1 1
12 = 1100
Esempio di altre basi di numerazione
- Codice ottale cifre: 0, 1, 2, 3, 4, 5, 6, 7. 10 (ottale) = 8 (decimale)
- Codice esadecimale cifre: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. 10 (esadecimale) = 16 (decimale); B = 11; 2B=2*161+B*160 = 32+11 = 43
Rappresentazione di numeri positivi e negativi
- Il bit più a sinistra rappresenta il segno del numero: 0 = '+' 1 = '-'
- 1101 = -5
- È indispensabile indicare il numero N di bit utilizzati: 1 bit per il segno e N-1 bit per il modulo
- Con un byte possiamo rappresentare tutti i numeri compresi tra +127 (01111111) e -127 (11111111)
- In generale, con N bit si rappresentano i valori da - 2N-1 - 1 a +2N-1 - 1
Rappresentazione di numeri positivi e negativi con complemento a 2
- Se N sono i bit da utilizzare e x il numero da rappresentare si utilizza il valore binario pari a 2N + x
- Es. con 4 bit: +7 = 24 + 7 = 16 + 7 = 23 = 10111 = 0111; -7 = 24 - 7 = 16 - 7 = 9 = 1001
In alternativa, per i numeri negativi si eseguono i seguenti passi:
- Si rappresenta in binario il corrispondente numero positivo
- Si invertono tutti i bit
- Si aggiunge 1
Es. con 4 bit il numero -7: +72 = 0111 => 1000 + 1 = 1001 = -72
Numeri in virgola mobile (Floating point)
Idea: 12,52 = 1252/100 = 1252 * 10-2
Un numero decimale è rappresentato come un intero moltiplicato per una opportuna potenza di 10, cioè con una coppia:
<1252; -2> mantissa esponente
Numeri floating point
È necessario stabilire quanti bit assegnare alla mantissa e all'esponente. Ad esempio, con 16 bit a disposizione possiamo usarne 12 per la mantissa e 4 per l'esponente (in realtà dovremmo anche tener conto dei segni).
Con lo stesso metodo possiamo rappresentare numeri molto grandi. Ad esempio, con 8 bit:
- 5 bit di mantissa: 11111 = 31
- 3 bit di esponente: 111 = 7
11111111 = 31 * 107 = 310 milioni
Mentre, con la notazione classica, con 8 bit rappresentiamo al massimo il n. 255
Somma dei numeri con sistema binario
Rappresentazione delle immagini: Le immagini vengono rappresentate attraverso foto, grafici, immagini 3D. Talvolta le immagini vengono rappresentate insieme a suoni attraverso una decodificazione di un file in rappresentazione sonora. A differenza dell'immagine digitale che viene decodificata, quella analogica (in disuso ultimamente) era riprodotta analogamente con tutti i difetti di risoluzione che ne consegue. Possiamo dire quindi che il VIDEO è la combinazione di suoni + immagini.
L'immagine viene rappresentata e suddivisa in griglia con righe orizzontali e verticali. Ogni quadratino della griglia è un PIXEL.
Codificare ogni Pixel con:
- 0 se il pixel è bianco (assenza di luce)
- 1 se il pixel è nero (presenza di luce)
Se la soglia di luce è molto alta il Pixel verrà individuato come nero, mentre se la soglia di luce è molto bassa il Pixel verrà individuato come bianco. Immagine digitale = insieme di Pixel.
Il formato dell'immagine (BMP, JPEG, TIFF etc...) determina anche la sua partenza intesa come indicazione di istruzioni: convenzionalmente la sua partenza è fissata dal primo quadratino in basso a sinistra. Il Pixel misura sia l'immagine in uscita sia l'immagine interna.
Esempio:
- 22 23 24 25 26 27 28
- 15 16 17 18 19 20 21
- 8 9 10 11 12 13 14
- 1 2 3 4 5 6 7
00000000 / 0111100 / 0110000 / 0100000
Da considerare che ognuno dei quadratini (pixel) assumerà un valore corrispondente di 0 o 1 inteso come BIT. Possiamo dire quindi che l'immagine digitale in bianco e nero è un insieme di pixel accesi o spenti.
Nota: la rappresentazione di 0 e 1 (acceso, spento) potrebbe anche essere invertita secondo standard o formato dell'azienda che la rappresenta.
Se volessimo rappresentare la figura di cui sotto, avremmo una rappresentazione secondo tipo di risoluzione (immagini in bianco e nero):
Esempio di rappresentazione grafica dell'immagine secondo risoluzione 7x4:
Immagine ricostruita: 800 Pixel per 600 Pixel:
Esempio di rappresentazione grafica dell'immagine secondo risoluzione 14x8:
Quindi si può notare che maggiore è la risoluzione, maggiore è la definizione dell'immagine. Se aumentiamo ulteriormente la risoluzione di questa griglia otterremo un'immagine uguale e definita come quella che si vuole rappresentare. Viene rappresentata in modo più fine.
Quindi le immagini sono rappresentate con un certo livello di approssimazione, o meglio, di risoluzione, ossia il numero di Pixel usati per riprodurre l'immagine.
- 640x480 pixel; 800x600 pixel
- 1024x768 pixel; 1280x1024 pixel
- 1400x1280 pixel
Risoluzione è detta il numero di pixel su righe e colonne. Ad esempio uno strumento di alta definizione come il FULL HD ha 1920x1080 pixel di risoluzione. Aumentando la risoluzione l'immagine viene maggiormente definita e rappresentata. Con strumenti di alta definizione addirittura a distanza di 20 cm non si riesce a vedere la retina griglia dei pixel (è il caso dei MAC).
Da tenere in considerazione nella risoluzione anche il DOT-PITCH ovvero il grado di definizione del pixel o meglio la distanza tra due pixel, normalmente misurata tra 0,25 e 0,28 mm. Minore è il DOG-PITCH maggiore sarà la nitidezza e la risoluzione delle immagini.
Diverse modalità di rappresentazione delle immagini:
- Esistono immagini in B/W (1 solo Bit per il colore); immagini in bianco e nero (ad esempio i fax)
- Oppure immagini a livello di grigi e colori
- Con 8 Bit si codificano 256 livelli di grigio (ottenuti regolando la luminosità del pixel)
- Con 8 bit si rappresentano 256 colori, con 16 bit 64000 colori, con 24 bit 16 milioni di colori diversi in true color.
Attenzione: fare sempre attenzione nel calcolo tra bit e byte. 256 colori = 1 byte per pixel 24 bit = 3 byte ognuna dei quali corrisponde a un colore preciso (rosso-verde-blu per esempio → per ogni colore possiamo trovare 256 combinazioni di gradazione).
Il PIXEL è rappresentato, abbiamo detto, con un quadratino. Al suo interno ci sono 3 bande verticali al cui interno sono rappresentati i 3 colori (rosso, verde, blu) la cui combinazione determina la definizione di tutti i colori. Avremo quindi 256 combinazioni per il rosso, 256 per il verde, 256 per il blu.
La compressione delle immagini
Essa avviene nei seguenti modi:
- Compressione senza perdita di dati (lossless compression): aree contenenti Pixel dello stesso colore vengono codificate in modo compatto, questo permette una compressione limitata ma salvaguarda dalla perdita di informazione nella fase precedente; questa funzione cerca di individuare delle sequenze di bit che si ripetono, memorizza lo stato e lo ricorda, permette una compressione di dati limitata ma salvaguarda dalla perdita di informazione nella fase di decompressione;
- Compressione con perdita dati (lossy compression): questa famiglia di tecniche di compressione permette una riduzione nelle dimensioni dell'immagine compressa fino anche a dieci volte rispetto allo schema precedente ma comporta una perdita di informazione.
Tecnica di compressione che permette una riduzione nelle dimensioni dell'immagine compressa ma comporta una perdita di informazioni.
Di seguito vengono introdotti alcuni fra i principali formati studiati per la codifica e la compressione delle immagini:
Bitmap
Si tratta di un formato non compresso nel quale i dati dell'immagine vengono "impacchettati" per singole linee a blocchi di 4 byte. Se volessimo calcolare la sua dimensione di immagine compresa in una griglia 640x48 con numero di colori su 32 bit (ovvero 4 byte) dovremmo fare:
640x48x4 = 1,228,200 byte = circa 1,2 MB quindi anche 1200 KB.
Esiste:
- BITMAP (RAW): la rappresentazione di un'immagine con codifica dei pixel.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Riassunto esame Informatica, libro consigliato Introduzione all’informatica, Avalle, Console, Ribaudo
-
Riassunto esame Informatica, prof. Console, libro consigliato Manuale di Informatica
-
Riassunto esame Fondamenti di informatica, Prof. Tomaiuolo Michele, libro consigliato Introduzione all'informatica …
-
Riassunto esame Fondamenti di informatica, Prof. Orio Nicola, libro consigliato Introduzione all'informatica per st…