Informatica generale modulo I Capitolo 1
Informatica
• INFORMATICA - scienza dell’informazione (= Inform – automatica)
• 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 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 calcolatore
HARDWARE: Struttura fisica del calcolatore formata da parti meccaniche, elettriche, elettroniche (Video HD, tastiera,
modem, CPU, ecc,).
SOFTWARE: Componente del calcolatore costituita dai programmi di base e dai programmi applicativi per la gestione e
l’uso del Sistema.
• Software di sistema: sistema operativo → si occupa di trasferire le info del computer sullo schermo (è utile
solo se c’è anche il software applicativo).
• Software applicativo: parte da quelle applicazioni che mettiamo sul pc (es: office).
→ La parte contro cui si può solo imprecare.
FIRMWARE: Software cablato direttamente in chip hardware non facilmente modificabile (es: flash Bios e successive
soluzioni). Permette al componente hardware di far funzionare le componenti base del sistema (es: mette in
comunicazione CPU e RAM).
→ La parte contro cui non si può fare proprio nulla.
Elaborazione informazioni
Elaborare un’informazione significa: Operare secondo precise modalità su di un insieme di informazioni, al fine di
risolvere un determinato problema.
→ Parliamo sempre di informazioni e non di dati (Informazione = dato1+dato2+…)
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.
CHIARA MONARDO 1
Programma
PROGRAMMA: codifica di un dato algoritmo in un opportuno linguaggio di programmazione (ossia linguaggio
elaborabile 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
PROCESSO: Qualsiasi programma o parte di esso opportunamente tradotto in L.M. (linguaggio macchina) e caricato in
memoria principale diventa un processo.
→ Se il pc ha una RAM piccola (es: 1 GB) non posso aprire troppi processi.
• Processi di sistema
• Processi utente / applicativi
Tipi di informazione
• Testo (caratteri)
• Numeri
• Suoni
• Immagini
Le informazioni sono concetti astratti che esistono indipendentemente dalla loro rappresentazione, per essere
comunicate devono essere elaborate.
Tutto ciò che ci circonda è informazione.
Informazione digitale codifica RAPPRESENTAZIONE
INFORMAZIONE DIGITALE
decodifica
CHIARA MONARDO 2
Capitolo 2 – La rappresentazione dell’informazione
Negli elaboratori viene usata una rappresentazione binaria che usa due soli simboli “0” e “1”. Le ragioni sono
principalmente di tipo tecnologico.
BIT → entità minima di informazione, può assumere solo due valori (0 o 1) con un bit si possono rappresentare due
informazioni.
Per poter rappresentare più informazioni si usano aggregazioni (sequenze) di bit. Con un’aggregazione di N bit si
N
possono decodificare 2 informazioni diverse.
BYTE → aggregazione di 8 bit. Si possono codificare 28= 256 informazioni.
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 cioe’ una rappresentazione binaria (a due valori) dell’informazione.
→ Con 1 bit rappresentiamo solo 2 diverse informazioni: si/no - on/off - 0/1 - vero/falso
→ Mettendo insieme più bit possiamo rappresentare piu’ informazioni: 2 bit = 4 informazioni
00 - 01 - 10 - 11
→ ESEMPIO: un esame può avere quattro possibili esiti
– ottimo 00
– discreto 01
– sufficiente 10
– insufficiente 11
2
o Con 2 bit si codificano 4 informazioni (2 )
3
o Con 3 bit si codificano 8 informazioni (2 )
o ……… N
o Con N bit si codificano 2 informazioni
→ Se dobbiamo rappresentare più di 4 informazioni occorre aggiungere il 3° bit, tante parole quanti sono i concetti
000, 001,
010, 011,
100, 101
110, 111
→ Se dobbiamo rappresentare 21 concetti diversi mi servono:
N
2 ≥ M dove M=21
5
2 = 32
Alcune sequenze ( da 22 a 32) non vengono utilizzate
CHIARA MONARDO 3
→ Per rappresentare 57 informazioni diverse dobbiamo usare gruppi di almeno 6 bit. Infatti:
6
2 = 64 > 57
Cioe’ un gruppo di 6 bit puo’ assumere 64 configurazioni diverse:
000000 / 000001 / 000010 …/ 111110 / 111111 N
In generale, con N bit, ognuno dei quali può assumere 2 valori, possiamo rappresentare 2 informazioni diverse.
N
viceversa: Per rappresentare M informazioni dobbiamo usare N bit, in modo che: 2 ≥ M
Nota: Per rappresentare il doppio delle informazioni è sufficiente aggiungere 1 bit
Multipli del byte
Di solito si usano i multipli del byte
10
Kilo KB 2 (~ mille byte, 1024)
20
Mega MB 2 (~ un milione , 1KBx1024)
30
Giga GB 2 (~ un miliardo, 1MBx1024)
40
Tera TB 2 (~ mille miliardi, 1GBx1024)
2.1 Codifica dei caratteri
E’ 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:
7
2 = 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
Oppure ancora
• 16 bit (UNICODE) 65535 caratteri (codifica tutti gli alfabeti)
• MS Windows usa un codice proprietario a 16 bit per carattere, simile ad UNICODE ma non totalmente
standard chiamato multilanguage
• 8 bit (EBCDIC) usato per i display lcd
IN SINTESI…
• Alfabeto anglosassone → per codificare ogni simbolo sono sufficienti 7 bit (ASCII standard)
• 8 bit (ASCII esteso)
• 16 bit (UNICODE)
• MS Windows usa un codice proprietario a 16 bit per carattere, simile ad UNICODE
ASCII = American Standard Code for Information Interchange
→ I caratteri sono combinazioni diverse di bit.
→ Come fa il PC a decodificare testo: inizia a prendere i primi 8 bit e li va a cercare nella combinazione ASCII, poi
procede con i seguenti 8 bit.
CHIARA MONARDO 4
• Esempio: INFORMATICA 01000001
01001001 01001110 01000110 01001111 01010010 0100110 01000001 01010100 01001001 01000011
I N F O R M A T I C A
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 bit e la ricerca del simbolo grafico corrispondente.
Codifica dei numeri:
• 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 00110010 00110100
3 2 4
ATTENZIONE si tratta di rappresentazione di simboli e non del valore numerico 324 da utilizzare nelle operazioni
matematiche → Da qui deriva esigenza di codice binario.
2.2 Codifica dei numeri
Decimale:
Sistema posizionale in cui ogni cifra di un numero assume un valore che dipende dalla sua posizione.
Il sistema decimale (base 10):
245 = 2 x 100 + 4 x 10 + 5 x 1
2 1 0
851 = 8 x 10 + 5 x 10 + 1 x 10
Si deve fare la somma dei prodotti di ciascuna cifra moltiplicata per la base elevata all’esponente che rappresenta la
posizione della cifra stessa (partendo da 0).
Binario:
Utilizza una notazione posizionale basata su 2 cifre (0 e 1) e sulle potenze di 2
4 3 2 1 0
Esempio: 10110 = 1 x2 + 0 x2 + 1x2 + 1 x2 + 0x2 = 22
6 5 4 3 2 1 0
Esempio: 1010101 = 1x2 +0x2 +1x2 +0x2 +1x2 +0x2 +1x2 = 85
1*64+0*32+1*16+0*8+1*4+0*2+1*1 = 85
Ottale:
Utilizza una notazione posizionale basata su 8 cifre (0,1, …, 7 ) e sulle potenze di 8
Esempio: 1101 =
3 2 1 0
1 x 8 + 1 x 8 + 0 x 8 + 1 x 8 = 577
1*512 + 1*64 + 0*8 + 1*1 = 577
Per evitare problemi si scrive la base come pedice del numero (Esempio: 11011 10011 10011
2 8 10)
Esagesimale:
Utilizza una notazione posizionale basata su 16 cifre (0,1,2,…,9,A,B,C,D,E,F) e sulle potenze di 16
CHIARA MONARDO 5
3 2 1 0
Esempio: 1011 = 1x16 + 0x16 + 1x16 + 1x16 = 4113
16 1*4096 + 0*256 + 1*16 + 1*1 = 4113
3 2 1 0
Esempio: C3B5 = 12 * 16 + 3 * 16 + 11 * 16 + 5 * 16 = 50101
12*4096 + 3*256 + 11*16 + 5*1=49152 + 768 + 176 + 5 = 50101
→ Permette di raggruppare lunghe sequenze di bit e scriverle in modo più breve.
Conversione dei numeri:
Da decimale (base 10) a binario (base 2):
Per convertire un numero in base 2 si devono dividere tutti i numeri per 2 fino ad arrivare a 0.
Esempio: 157 10
157 / 2 resto 1
78 / 2 resto 0
39 / 2 resto 1
19 / 2 resto 1 10011101
9 / 2 resto 1
4 / 2 resto 0
2 / 2 resto 0
1 / 2 resto 1
Un metodo pratico: Dobbiamo ricordare le potenze di 2, trovare la potenza minore che si avvicina al numer, sottrarre il
suo valore al mio numero.
① Esempio: 157 10
128 64 31 16 8 4 2 1
1 0 0 1 1 1 0 1
29 13 5 1 0
Conversione da binario (base 2) a decimale (base 10):
② Esempio: 10011101
128 64 32 16 8 4 2 1
1 0 0 1 1 1 0 1
128 + 16 + 8 + 4 + 1 = 157
Oppure… Da destra verso sinistra si moltiplica ogni cifra per le potenze progressive del 2.
Esempio: 1010110012
1 x 20 = 1
0 x 21 = 0
0 x 22 = 0
1 x 23 = 8
CHIARA MONARDO 6
1 x 24 = 16
0 x 25 = 0
1 x 26 = 64
0 x 27 = 0
1 x 28 = 256
Sommo tutto: 1 + 0 + 0 + 8 + 16 + 0 + 64 + 0 + 256 = 34510
NOTA: Numeri binari se finiscono con 0 sono PARI. Se finiscono con 1 sono DISPARI
→ A > B che implica che qualsiasi siano i valore di A e B, A > B.
min max
Conversione da binario (base 2) a esagesimale (base 16):
③ Esempio: 10011101
8 4 2 1 | 8 4 2 1
1 0 0 1 | 1 1 0 1
9 D = 157
Addizione binaria:
10111001 + (185)
10000100 = (132)
===========
100111101 (317)
OVERFLOW: Errore che avviene quando si esce dal numero di cifre possibili. N-1
Date N cifre binarie, è possibile rappresentare i numeri da 0 a 2
Esempio: 8 bit = da 0 a 255 → non è possibile rappresentare il numero 256.
Solitamente si usano 32 bit (4 byte) per rappresentare i numeri nei PC.
Interi con segno:
111 (neg) = 001 = -1
1010 (neg) = 0110 = -6
0000 +0 1000 -0
0001 +1 1001 -1
0010 +2 1010 -2
0011 +3 1011 -3
0100 +4 1100 -4
0101 +5 1101 -5
0110 +6 1110 -6
CHIARA MONARDO 7
0111 +7 1111 -7
E MI MANGIO SEMPRE UN BIT PER IL SEGNO.
Complemento a 2:
Ci permette di rappresentare i numeri da -8 a +7.
0000 +0
0001 +1 1001 -7
0010 +2 1010 -6
0011 +3 1011 -5
0100 +4 1100 -4
0101 +5 1101 -3
0110 +6 1110 -2
0111 +7 1111 -1
• Si fissa un’ampiezza di n bits detta precisione
• Il bit più significativo (a sinistra) determina il segno: 0 corrisponde a +, 1 a -
• I bits restanti sono la codifica binaria se il numero è positivo
Se il numero è negativo:
• Per calcolarne il valore assoluto si trasforma la sequenza
• si parte da destra verso sinistra e la si lascia invariata fino al primo 1,
• dopodiché si complementano i bit rimasti (scambio di 0 con 1 e viceversa): la codifica binaria risultante è il valore
assoluto.
Esempio: convertire -30 in complemento a 2:
-30 = 16 + 4 + 2
00011110 (+30)
11100010 (-30)
Serve per rappresentare i numeri CON SEGNO e per compiere corrette operazioni aritmetiche (es: sottrazione binaria).
N
Numero di bit = N, 2 /2 è il numero di numeri positivi e negativi rappresentabili.
4 bit → 8 positivi e 8 negativi.
Primo bit: 0 → numero positivo. 1 → numero negativo.
Sottrazione binaria:
Si opera con il sistema del complemento a due
10111001 - + (185)
00010100 = (20)
11101100
===================
110100101 (165)
CHIARA MONARDO 8
CIFRE RAPPRESENTABILI:
• N
Sistema Decimale = 99…99 = 10 – 1
• N
Sistema Binario= 11..11 = 2 - 1
8
Esempio: 11111111 (8 bit )= 2 -1= 255. 8
Per rappresentare il n. 256 serve un bit in più: 100000000 = 1*2 = 256.
Overflow:
Deciso il numero di cifre a disposizione si fissa anche il numero massimo rappresentabile, numeri più grandi causano
problemi di overflow
Esempio: 4 cifre
in base 10 9999 + 1 = 10000 10
in base 2 1111 + 1 = 10000 (= 1610)
2
in base 16 FFFF + 1 = 10000 (= 6553610)
16
in base 8 7777 + 1 = 10000 (= 409610)
8
Numeri a virgola mobile (floating point):
-2
Numero 12,52 = 1252/100 = 1252 * 10
Un numero decimale è rappresentato come un intero moltiplicato per una opportuna potenza di 10, cioè con una
coppia: <1252; -2>
Mantissa Esponente
Rappresentazioni a 16 bit:
- 2 bit per i segni
- 9 bit per il valore assoluto della mantissa
- 5 bit per il valore assoluto dell'esponente
Rappresentazioni a 32 bit:
- 2 bit per i segni
- 20 bit per il valore assoluto della mantissa
- 10 bit per il valore assoluto dell'esponente
→ Con lo stesso metodo possiamo rappresentare numeri molto grandi.
Con 8 bit:
5 bit di mantissa: 11111 = 31
3 bit di esponente: 111 = 7
7
11111111 = 31 * 10 = 310 milioni
Mentre, con la notazione classica, con 8 bit rappresentiamo al massimo il 255.
CHIARA MONARDO 9
→ Purtroppo però non si può utilizzare sempre perche si perde in precisione
Esempio: 5 cifre (decimali) → 4 per la mantissa, 1 per l’esponente.
546,768
<5467; -1> che diventa un numero compreso tra 546,7 e 546,8
2.3 Rappresentazione delle immagini
Immagini in bianco e nero:
Dividere l’immagine in una griglia a righe orizzontali e verticali.
Ogni quadratino della griglia e’ un pixel.
Codificare ogni pixel con:
– 0 se il pixel e’ bianco
– 1 se il pixel e’ nero
Il formato dell’immagine (BMP, Jpeg, Tiff, ecc.) determina anche la partenza: convenzionalmente si parte dal 1°
quadratino basso a sinistra.
Risoluzione 7 x 4:
0000000 0111100 0110000 0100000
1
0 0 0 0 0 0
22 23 24 25 26 27 28
0 1 1 0 0 0 0
19
15 16 17 18 20 21
0 1 1 1 1 0 0
8 9 10 11 12 13 14 Risoluzione in bit in B/W
0 0 0 0 0 0 0
1 2 3 4 5 6 7
CHIARA MONARDO 10
1
1 1
Immagine ricostruita 1 1 1 1
Aumentiamo la risoluzione a 14 x 8
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:
– 640 x 480 pixel; 800 x 600 pixel
– 1024 x 768 pixel; 1280 x 1024 pixel
– 1400 x 1280 pixel
→ É importante anche il dot pitch, il grado di definizione del pixel: 0,25 - 0,28 in quanto maggior risoluzione e minor
dot-pitch garantiscono immagini migliori.
- Esistono immagini in B/W ( 1 solo bit per il colore )
- Oppure immagini a livelli di grigio o colori
- Con 8 bit si codificano 256 livelli di grigio. (ottenuti regolando la luminosita’ del pixel)
- Con 8 bit si rappresentano 256 colori, con 16 bit 64.000 colori, con 24 bit 16 milioni di colori diversi per pixel e
con 32 bit sempre 16 milioni di colori in true color
Attenzione : fare sempre attenzione nel calcolo a bit e byte 256 colori = 1 byte per pixel
1 pixel a 2 colori 1 bit
1 pixel a 256 colori 1 byte (1 * 8 bit)
1 pixel a 65535 colori 2 byte (2 * 8 bit)
1 pixel a 16 Mil. di colori 3 byte (3 * 8 bit)
LA CODIFICA DELLE IMMAGINI… IN SINTESI:
Pixel: unità minima dell’immagine.
Risoluzione: numero di pixel utilizzati (Risoluzioni tipiche: 800 x 600; 1024 x 768; 1280 x 1024)
Bit e Byte: definiscono lo spazio necessario a memorizzare un’immagine.
o Assegnando un bit ad ogni pixel è possibile codificare solo immagini in bianco e nero.
o 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.
o Per memorizzare un pixel non è più sufficiente un solo bit. Ad esempio, se utilizziamo 4 bit possiamo
rappresentare 24=16 livelli di grigio o 16 colori diversi, mentre con 8 bit ne possiamo distinguere 28=256, ecc.
CHIARA MONARDO 11
2 ≥ ; M = numero di colori SO = r x p
Dove SO è lo spazio occupato (in bit), r è la risoluzione (in pixel) e p è la profondità del colore (in bit per pixel).
La compressione delle immagini:
• Compressione senza perdita di dati (lossless compression).
Aree contenenti pixel dello stesso colore vengono codificate in modo compatto; ques
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.