Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi...

50
Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:[email protected] tel: 011/670 2903 www.dm.unito.it/personalpages/galluzzi

Transcript of Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi...

Page 1: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

InformaticaCorso di Studi

inScienze Geologiche

a.a 2005/06

Federica Galluzziemail:[email protected]

tel: 011/670 2903www.dm.unito.it/personalpages/galluzzi

Page 2: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Obiettivi del corso

Basi dell’informatica: codifica dell’informazione hardware: struttura di un computer software: sistemi operativi e file system fogli elettronici

Statistica: Statistica descrittiva

Laboratorio Esercitazioni in laboratorio

Page 3: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Testi per il corsoTesti adottati:• S. Grandi, E. Bonechi, Informatica Zero,

Apogeo, 2000• Lucidi delle lezioni• F. Borazzo, R. Candiotto Laboratorio di Excel

2000, Apogeo • Dispense di statistica della Prof.ssa Garetto

(Cap.1) http://www.dm.unito.it/quadernididattici/garetto/quaderno_statistica.pdf

Page 4: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Aspetti dell’informazione

Quando abbiamo a che fare con informazione di qualunque tipo distinguiamo: contenuto (messaggio/significato) rappresentazione (codifica/significante) supporto materiale

Page 5: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Il numero dieci

10 (dieci nella numerazione araba)

X (dieci nella numerazione romana)

Page 6: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Analogico/digitale: una definizione

Analogico: basato sulla similitudine tra la rappresentazione e l'informazione rappresentata

Digitale: basato su una rappresentazione simbolica di informazioni discrete

Page 7: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Esempi

Orologio a lancette/ orologio a cifre il disco di vinile/ il CD La fotocamera tradizionale/quella digitale il telefono tradizionale/ la linea ISDN

Page 8: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Codifica di informazioni (discrete)A = alfabeto = insieme finito di simboli = {a,b,c,…}

Stringa (parola) = sequenza finita di simboli di A

esempio: “aabcedc” è una parola di n = 7 simboli

codifica: funzione che associa in modo 1-1 (iniettivo) una stringa di simboli in A ad ogni informazione

informazioni

A* = insiemedi tutte le stringhe

su Acodifica

Page 9: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Esempio: codifica binaria A = {0,1}

spenta

accesa

01

La lampadina è

primaveraestate

autunnoinverno

00011011

Siamo in

Page 10: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Quante informazioni posso rappresentare con stringhe di lunghezza n su un alfabeto di k simboli? Esempio A = { }

Quante sono le parole di lunghezza n se A ha k simboli?

Data la parola s = x1 … xn-1 esistono k parole della forma

x1 … xn-1 y con y A

Page 11: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

perciò se le parole di lunghezza n-1 sono m, allora quelle di lunghezza n

sono m k.

Facendo variare n:

n = 1 allora k

n = 2 allora k k …

n = 3 allora k k k

in generale le stringhe di lunghezza n saranno:

k … k (n volte) = kn

In conclusione: con un alfabeto di k simboli posso rappresentare kn informazioni con stringhe di lunghezza n

Page 12: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Esercizio

L’alfabeto A = { } : quante informazioni posso codificare con stringhe di lunghezza 5?

45 = 1024

Page 13: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Rappresentazione delle informazioni all’interno dei computer

I computer usano una codifica binaria. L’alfabeto e’ costituito da due soli simboli, indicati

convenzionalmente con 0 e 1 L’entità minima di informazione (0 e 1) prende il nome di bit

(binary digit - cifra binaria). Mediante un bit possiamo rappresentare due informazioni

Page 14: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Le ragioni di questa scelta sono prevalentemente di tipo tecnologico, infatti i due simboli corrispondono a:

due stati di polarizzazione di una sostanza magnetizzabile; i due stati di carica elettrica di una sostanza al passaggio/non passaggio di corrente attraverso un cavo conduttore; al passaggio/non passaggio di luce attraverso un cavo ottico etc.…..

Page 15: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Unità di Misura: bit, Byte, …

1 bit = stringa su {0,1} di lunghezza unitaria

1 byte = stringa su {0,1} di lunghezza 8

1 KB = 210 = 1024 byte

1 MB = 220 =1024 Kbyte (un milione di byte circa)

1 GB = 230 =1024 Mbyte (un miliardo di byte circa)

1 TB = 240 =1024 Gbyte (mille miliardi di byte circa)

Page 16: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Codifica binaria

Con una sequenza di n bit possiamo rappresentare

2n informazioni

Viceversa: se devo rappresentare k> 1 informazioni diverse, quanti bit sono necessari?

Ho bisogno di un numero di bit n tale che 2n k

Questo numero è log2k la parte intera di log2k

Page 17: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

k log2k

2 1

3 2

4 2

5 3

6 3

7 3

8 3

9 4

16 4

17 5

32 5

33 6

Page 18: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Esercizio

Quanti bit sono necessari per codificare i giorni della settimana? E i giorni del mese?

Page 19: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Soluzione

I giorni della settimana sono 7: ho bisogno di 3 bit

I giorni del mese sono al massimo 31: ho bisogno di 5 bit

Page 20: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

La codifica dei caratteri

Dobbiamo rappresentare le lettere dell’alfabeto

{a,b,c, …A,B,C, %, &, (, ),…0,1,2,3,.,; ?+,-*,...}

L’insieme di simboli comunemente usati nell’alfabeto anglosassone, incluse le cifre numeriche, lettere maiuscole e minuscole, simboli di punteggiatura, parentesi e operatori aritmetici, può essere codificato usando 7 bit (27 = 128)

Il metodo di codifica più diffuso tra i produttori di hardware e di software prende il nome di codice ASCII (American Standard Code for Information Interchange)

Page 21: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

La codifica dei caratteri: Il codice ASCII

0000000 NUL 0001110 SO 0011100 FS

0000001 SOH 0001111 SI 0011101 GS

0000010 STX 0010000 DLE 0011110 RS

0000011 ETX 0010001 DC1 0011111 US

0000100 EOT 0010010 DC2 0100000 SP

0000101 ENQ 0010011 DC3 0100001 !

0000110 ACK 0010100 DC4 0100010 "

0000111 BEL 0010101 NAK 0100011 #

0001000 BS 0010110 SYN 0100100 $

0001001 HT 0010111 ETB 0100101 %

0001010 NL 0011000 CAN 0100110 &

0001011 VT 0011001 EM 0100111 '

0001100 NP 0011010 SUB 0101000 (

0001101 CR 0011011 ESC 0101001 )

Page 22: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

La codifica dei caratteri: Il codice ASCII

0101010 * 0111001 9 1000111 G

0101011 + 0111010 : 1001000 H

0101100 , 0111011 ; 1001001 I

0101101 - 0111100 < 1001010 J

0101110 . 0111101 = 1001011 K

0101111 / 0111110 > 1001100 L

0110000 0 0111111 ? 1001101 M

0110001 1 1000000 @ 1001110 N

0110010 2 1000001 A 1001111 O

0110011 3 1000010 B 1010000 P

0110100 4 1000011 C 1010001 Q

0110101 5 1000100 D 1010010 R

0110110 6 1000101 E 1010011 S

0110111 7 1000110 F 1010100 T

0111000 8

Page 23: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

La codifica dei caratteri: Il codice ASCII

1010101 U 1100011 c 1110001 q

1010110 V 1100100 d 1110010 r

1010111 W 1100101 e 1110011 s

1011000 X 1100110 f 1110100 t

1011001 Y 1100111 g 1110101 u

1011010 Z 1101000 h 1110110 v

1011011 [ 1101001 i 1110111 w

1011100 \ 1101010 j 1111000 x

1011101 ] 1101011 k 1111001 y

1011110 ^ 1101100 l 1111010 z

1011111 _ 1101101 m 1111011 {

1100000 ` 1101110 n 1111100 ¦

1100001 a 1101111 o 1111101 }

1100010 b 1110000 p 1111110 ~

1111111 DEL

Page 24: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Il codice ASCII

Sebbene 7 bit siano sufficienti per codificare l’insieme di caratteri di uso comune, il codice ASCII standard utilizza 8 bit, il primo dei quali è sempre 0

Codici ASCII con 1 iniziale sono utilizzati per codificare caratteri speciali, ma la codifica non è standard.

Codifica della parola cane

01100011 01100001 01101110 01100101 c a n e

Page 25: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Problema inverso: decodifica

quale testo è codificato da una data sequenza?

– si divide la sequenza in gruppi di otto bit (un byte);

– si determina il carattere corrispondente ad ogni byte

011010010110110000000000011100000110111100101110

011010010110110000000000011100000110111100101110

i l P o .

Page 26: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Osserva che:

La decodifica è possibile (e facile) perchè i caratteri sono codificati con stringhe binarie di lunghezza costante

Page 27: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Altri formati

ECBDIC formato alternativo a 8 bit

UNICODE nuovo standard a 16 bit contiene

simboli per la maggiorparte degli alfabeti

esistenti (compreso arabo, giapponese,

etc…)

MSWINDOWS codifica proprietaria della

Microsoft simile a UNICODE

Page 28: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Esercizio

Un testo di 400 caratteri occupa 1600 bit, quanti caratteri puo’ avere al massimo l’alfabeto?

Page 29: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Soluzione

Ogni carattere occupa 1600/400 = 4 bit, quindi

con 4 bit posso codificare sino a 24 = 16 caratteri

Page 30: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Codifica di un documento

Un documento può essere formattato: – i caratteri hanno una dimensione, uno stile,

un font – il testo può essere giustificato, avere margini,

tabulazioni, centrature, incolonnato etc. Tutte queste caratteristiche possono venire

codificate e memorizzate insieme al testo formato solo-testo (text-only) rimuove tutte le

informazioni di formattazione aggiuntive

Page 31: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Il codide ASCII codifica anche le cifre decimali la codifica ASCII è troppo costosa in spazio:

24 = 00110010 00110100 non è possibile usare direttamente le codifiche ASCII per le operazioni aritmetiche:

Esempio: Numero ASCII3 + 001100112 = 00110010---- -------------5 01100101

Rappresentazione dei numeri

Page 32: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Rappresentazione dei numeri

La numerazione decimale utilizza una notazione posizionale basata sul numero 10. La sequenza “234” rappresenta il numero

2 x 102 + 3 x 101 + 4 x 100

La notazione posizionale può essere utilizzata in qualunque altro sistema di numerazione (con base diversa da 10)

Page 33: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Sistemi di numerazione

Ogni numero può essere rappresentato in qualunque base B > 1

Fissata una base B > 1

cn cn-1 … c1 c0

dove ciascun ci < B, rappresenta il numero

r = cn Bn + cn-1 Bn-1 +… + c1 B1 + c0 B0

Page 34: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Basi usate comunemente Base decimale B = 10:

cifre 0,1,2,3,4,5,6,7,8,9

Base binaria B=2:

cifre 0,1

Base ottale B=8:

cifre 0,1,2,3,4,5,6,7

Base esadecimale B=16:

cifre 0,1,…,9,A,B,C,D,E,F

Page 35: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Sistema di numerazione binariaNel caso binario la sequenza

cn cn-1 cn-2... c1 c0

(ogni “ci” è la cifra “0” o la cifra “1”) rappresenterà il

numero

cn x 2n + cn-1 x 2n-1 + ... c1 x 21 + c0 x 20

La sequenza “1011” in base 2 denota il numero 1 x 23 + 0 x 22 + 1 x 21 + 1 x 20 = 11

(in base 10)

Per evitare ambiguità si usa la notazione 10112 = 1110

Page 36: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Esempio: numero rappresentazione binaria0 0001 0012 0103 0114 1005 1016 1107 111

Page 37: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Esercizio

Esercizio: convertire in binario il numero 37

soluzione:

3710 = 1001012

3710 = 1 25 + 0 24 + 0 23 + 1 22+ 0 21 + 1

20

Page 38: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Aritmetica binaria

0 + 0 = 0 con riporto 0 0 + 1 = 1 con riporto 0 1 + 0 = 1 con riporto 0 1 + 1 = 0 con riporto 1

1 0 1 +

1 1 =

1 0 0 0

1 1 0 1

1 1 =

1 1 0 1

1 1 0 1

1 0 0 1 1 1

Page 39: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Esercizio

Calcola 10011+1101

Page 40: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Soluzione

risultato = 100000 = 32

Page 41: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Limiti della rappresentazione di numeri

Consideriamo la base dieci: con 3 cifre decimali si possono rappresentare i numeri compresi tra 0 e 999, il numero successivo (1000) richiede una quarta cifra

Se si vuole rappresentare 1000 con 3 cifre decimali si ha un problema di overflow, ossia si esce dal numero di cifre destinato alla rappresentazione, e si genera un errore perché il numero non può essere rappresentato

Page 42: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Overflow nelle operazioni

2 + 010 + 3 = 011 = ___ ______ 5 101

5 + 101 + 4 = 100 =___ ______ 9 1001

*** ERRORE: OVERFLOW ***(non può essere codificato con tre bit)

Questo problema può essere osservato anche con la rappresentazione decimale

5 + 6 =

_____11 *** ERRORE:

non basta una sola cifra

Page 43: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Standard per numeri interi

Numeri piccoli: 1byte <= 255 Interi: 2-4byte <= 232

Interi lunghi: 4-8byte <= 264

Page 44: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Rappresentazione di numeri razionali in virgola mobile (floating point)

Rappresentazione di numeri razionali, esempio 12,5

Abbiamo che 12,5 = 125/10 = 125 * 10-1

= 1250/100 = 1250 * 10-2

possiamo quindi rappresentare 12,5 con la coppia

(125, -1)

Page 45: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Rappresentazione di numeri grandi

Esempio: supponiamo di avere a disposizione solo 2 byte di dover memorizzare 23.077.130(non si può: 216 ~ 65.000)

O si usano più byte o si sacrifica la precisione, adottando una rappresentazione in virgola mobile

23.077.130 = (2.307 x 10.000) + 7.130 = = (2.307 x 104) + 7.130

Page 46: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Se siamo disposti a trascurare l'ultimo addendo (7.130), possiamo memorizzare il numero dedicando i primi 4 bit all'esponente (il 4 di 104) e i restanti 12 bit al moltiplicatore 2.307 (mantissa)

0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

ESPONENTE MANTISSA

1° BYTE 2° BYTE

Page 47: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Codifica standard a 32 bit

1 bit per il segno dell’esponente 1 bit per il segno della mantissa 8 bit per il valore assoluto dell’esponente 22 bit per il valore assoluto della mantissa

Uso di hardware specializzato per operazioni con floating point: coprocessore matematico

Page 48: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Esempio: rappresentazione dei razionali (con base 10)

0

-1x10-255 1x10-255 222x10255-222x10255

Numeri Negativi rappresentabili

Numeri Positivi rappresentabili

Page 49: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Esercizio Supponi di avere

– 1 bit per segno mantissa– 1 bit per segno esponente– 2 bit per esponente e– 8 bit per mantissa m

e i numeri siano scritti in base 10 come m* 10e

quali sono il minimo e il massimo numero positivo e negativo rappresentabili?

osservare le lacune: alcuni numeri non sono rappresentabili

Page 50: Informatica Corso di Studi in Scienze Geologiche a.a 2005/06 Federica Galluzzi email:federica.galluzzi@unito.it tel: 011/670 2903 .

Fissando il numero complessivo di bit si hanno due scelte:

Meno bit per l’esponente, più bit per la mantissa: – maggiore precisione – intervallo piccolo dei numeri rappresentabili

(numeri densi) Più bit per l’esponente, meno per la mantissa:

– minore precisione, – intervallo grande dei numeri rappresentabili

(numeri sparsi)