1 algoritmi e rappresentazione - università degli studi di roma … · – numeri razionali •...

25
1 Abilità Informatiche Fabio Massimo Zanzotto F.M.Zanzotto, R.Basili Abilità Informatiche Facoltà di Lettere e Filosofia University of Rome “Tor Vergata” Cosa vedremo nelle lezioni Perché nozioni di informatica e sopratutto perché nozioni di fondamenti dell’informatica? Mattoni base Algoritmo, modello per risolvere problemi Rappresentazione dell’informazione Architettura del calcolatore Costruzioni sovrastanti Sistema operativo Reti di calcolatori e WWW Programmi applicativi Nozioni di informatica e di fondamenti di informatica Perché?

Upload: vuongkien

Post on 18-Feb-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Algoritmi e rappresentazione - Università degli Studi di Roma … · – Numeri Razionali • Dati non Numerici – Caratteri – Testo – Grafica Dipende dall’alfabeto usato!

1

Abilità Informatiche

Fabio Massimo Zanzotto

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Cosa vedremo nelle lezioni

• Perché nozioni di informatica e sopratutto perché nozioni di fondamenti dell’informatica?

• Mattoni base– Algoritmo, modello per risolvere problemi– Rappresentazione dell’informazione– Architettura del calcolatore

• Costruzioni sovrastanti– Sistema operativo– Reti di calcolatori e WWW– Programmi applicativi

Nozioni di informatica e di fondamenti di informatica

Perché?

Page 2: 1 Algoritmi e rappresentazione - Università degli Studi di Roma … · – Numeri Razionali • Dati non Numerici – Caratteri – Testo – Grafica Dipende dall’alfabeto usato!

2

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Un documento Word

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Un documento Word, vi sembra differente?

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Un documento Word, vi sembra differente?

Page 3: 1 Algoritmi e rappresentazione - Università degli Studi di Roma … · – Numeri Razionali • Dati non Numerici – Caratteri – Testo – Grafica Dipende dall’alfabeto usato!

3

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Un e-mail ricorrente

Domanda:

come la poniamo nella cartella Iscrizioni?

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Un e-mail ricorrente….

Regole di classificazione

• Come si specificano?

• Che cosa consentono di fare?

Linguaggio per descrivere algoritmi per la macchina “ricevitore di posta elettronica”

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Una presentazione animata

Page 4: 1 Algoritmi e rappresentazione - Università degli Studi di Roma … · – Numeri Razionali • Dati non Numerici – Caratteri – Testo – Grafica Dipende dall’alfabeto usato!

4

Problemi ed Algoritmi

Algoritmo: Modello per risolvere i problemi

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Problemi ed Algoritmi

• Domanda fondamentale: Cos’è un problema e quando è risolubile?

• Esempio di Problema e Processo di risoluzione

• Definizione di algoritmo

• “Processo di soluzione=Esecutore+Algoritmo”

• Parametrizzazione dei problemi

• Un algoritmo più complesso: – Sommare di due numeri

– Trovare il massimo comun denominatore tra due numeri

• Storia… la pascalina (1642)

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Domanda fondamentale

Cos’è un problema e quando è risolubile?

Andiamo per esempi…

Problema

Un contadino ha venduto Kg 125 di uva a 0,55 € al chilogrammo e con il ricavo ha acquistato 3 metri di stoffa pagandola 15,80 € al metro.

Quale somma gli è rimasta?

Page 5: 1 Algoritmi e rappresentazione - Università degli Studi di Roma … · – Numeri Razionali • Dati non Numerici – Caratteri – Testo – Grafica Dipende dall’alfabeto usato!

5

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Soluzione del problema (1)

Soluzione

0,55 €/kg×125kg= € 68,75 RICAVO UVA VENDUTA

15,80 €/m×3m= € 47,40 SPESA STOFFA

€ 68,75- €47,40 = €21,35 SOMMA RIMASTA

RISULTATO

Al contadino rimangono €21,35

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Soluzione del problema (2)

Attenzione… c’è anche una Procedura Risolutiva

Passi della procedura

1) Si moltiplichi la quantità di uva venduta per il prezzo al Kg: ottengo così il ricavo

2) Si moltiplichi la quantità di stoffa acquistata per il prezzo al metro, ottenendo così la cifra spesa.

3) Si sottragga dal ricavo la cifra spesa. Il risultato così ottenuto è la somma rimasta al contadino.

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Procedura Risolutiva: osservazioni

• Ricercare ed esprimere una procedura risolutiva è un atto creativo completamente distinto dalla attività “Meccanica” delle azioni volte a raggiungere il risultato finale.

• Per risolvere il precedente problema, non è sufficente essere capaci di eseguire le quattro operazioni

Page 6: 1 Algoritmi e rappresentazione - Università degli Studi di Roma … · – Numeri Razionali • Dati non Numerici – Caratteri – Testo – Grafica Dipende dall’alfabeto usato!

6

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Procedura Risolutiva: Algortimo

Definizione:

• Un algoritmo (o procedura risolutiva) specifica come ottenere il risultato finale mediante una sequenza di istruzioni (Ordini).

Si faccia attenzione:

• Un algoritmo non è l’ esecuzione materiale delle azioni volte a raggiungere il risultato finale è affidata ad un esecutore

• L’esecuzione delle azioni atte ad eseguire un algoritmo è detto processo

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Procedura Risolutiva: sistemiamo i ruoli

Algoritmo

Esecutore Risultato

Risolutore Problema

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Primo mattone importante: Parametrizzazione

Osservazione:

L’algoritmo per il precedente esempio risolve solo il problema posto.

Per raggiungere un ulteriore livello di generalizzazione possiamo far presente come esistano problemi per i quali uno stesso elenco di istruzioni può servire a condurre alla soluzione di problemi che differiscono solo per le informazioni iniziali (parametri).

Page 7: 1 Algoritmi e rappresentazione - Università degli Studi di Roma … · – Numeri Razionali • Dati non Numerici – Caratteri – Testo – Grafica Dipende dall’alfabeto usato!

7

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Parametrizzazione: ritorniamo all’esempio

Andiamo per esempi…

Problema

Un contadino ha venduto Kg 125 di uva a 0,55 € al chilogrammo e con il ricavo ha acquistato 3 metri di stoffa pagandola 15,80 € al metro.

Quale somma gli è rimasta?

Procedura

Somma= 125*0,55-3*15,80

Andiamo per esempi…

Problema

Un contadino ha venduto Kg X di uva a Y € al chilogrammo e con il ricavo ha acquistato Z metri di stoffa pagandola K € al metro.

Quale somma gli è rimasta?

Procedura

Somma= X*Y-Z*K

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Procedura Risolutiva con parametri

Algoritmo

Esecutore Risultato

Risolutore Problema

Risultato

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Processi, Algoritmi ed Istruzioni

PRO CESSO ALGORITMO TIPICAISTRUZIO NE

L’atto di preparazionedi un dolce

Ricetta Prend i 3 uova; aggiu ngi 30gdi zucchero

L’atto di suonare una sinfonia Sp artito mu sicale

L’atto di costruzione diun modello di aeroplano

Istruzioni di assemblaggio Incolla il p annello Acon la struttura B

Page 8: 1 Algoritmi e rappresentazione - Università degli Studi di Roma … · – Numeri Razionali • Dati non Numerici – Caratteri – Testo – Grafica Dipende dall’alfabeto usato!

8

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Un altro algoritmo: somma di due numeri

1. Incollare a destra i due numeri

2. Considerare le cifre della colonna più a destra

3. Assumere inizialmente il riporto uguale a O

4. Sommare le cifre della colonna in considerazione e aggiungere il riporto

5. Se il risultato ottenuto eseguendo la istr.4 è < 10 scrivere la cifra risultante nella colonna in considerazione, assegnare al riporto il valore O e andare all’istr.7

6. Se il risultato ottenuto eseguendo la istr.4 è ≥ 10 sottrarre 10. Scrivere la cifra risultante nella colonna in considerazione, porre il riporto =1 eandare alla istr.7

7. Spostarsi sulla colonna immediatamente a sinistra, se non vi sono cifre ed il riporto = 0 fermati altrimenti vai all’istr.8

8. Andare all’istr.4

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Un altro algoritmo: MCD

• Problema:

Determinare il M.C.D. di due numeri naturali dati diversi da 0

• Algoritmo M.C.D. 1

1. Si scompongono i due numeri in fattori primi

2. Si prendono in considerazione i soli fattori comuni

3. Dall’elenco di fattori comuni ottenuti nei passi di esecuzione dell’istr.2 si considerino quelli con l’esponente più piccolo

4. Si moltiplicano fra di loro i fattori individuali nei passi di esecuzione dell’istr.3 - il risultato è il M.C.D cercato.

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Un altro algoritmo: MCD (euclide)

• Problema:

Determinare il M.C.D. di due numeri naturali dati diversi da 0

• Algoritmo Euclide (1)

1. Dividere il primo numero per il secondo. Chiamare R il resto della divisione

2. Se R=0 hai finito: il secondo numero è il M.C.D.

3. Se R≠0 si operino i seguenti cambiamenti:

primo numero ←←←← secondo numero;

secondo numero ←←←← R.

4. Torna all’istr.1.

Page 9: 1 Algoritmi e rappresentazione - Università degli Studi di Roma … · – Numeri Razionali • Dati non Numerici – Caratteri – Testo – Grafica Dipende dall’alfabeto usato!

9

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Osservazioni

• Risolvere problemi richiede– Algoritmo

– Esecutore

• Diversi problemi richiederanno algoritmi diversi …

• Lo stesso problema ammette algoritmi diversi

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Ricapitoliamo

• Un algoritmo e’– Una sequenza

– ... finita

– di passi (o istruzioni)

– che risolve un problema (parametrico) dato

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Storia… la pascalina

Page 10: 1 Algoritmi e rappresentazione - Università degli Studi di Roma … · – Numeri Razionali • Dati non Numerici – Caratteri – Testo – Grafica Dipende dall’alfabeto usato!

10

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Storia… la macchina per fare la maglia

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Ricapitoliamo

Ingredienti attuali:

• Algoritmo

• Parametro

Cosa Manca?

• Come codifichiamo le azioni ed i parametri?

• Come passiamo ad un risolutore generale di problemi?

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

L’elaborazione dell’Informazione

• Dato un esecutoreΩ ...

• in grado di riconoscere (eseguire) un insieme (generale) di istruzioni

• e di Dati Iniziali (Argomenti)

• e data una sistematica rappresentazione dei dati e delle procedure risolutive

• ... ΩΩΩΩ e’ un risolutore generale di problemi!

Page 11: 1 Algoritmi e rappresentazione - Università degli Studi di Roma … · – Numeri Razionali • Dati non Numerici – Caratteri – Testo – Grafica Dipende dall’alfabeto usato!

11

Rappresentazione dell’Informazione

Codificare per computare e fare

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione dell’Informazione

Questioni di rappresentazione• Rappresentazione: essenza• Tipi di rappresentazione• Cosa ci interessa rappresentare in un algoritmo per

produrre una macchina in grado di elaborarlo?Idee fondamentali• Tutto è un rappresentato da un alfabeto• Tutto è un numero se numerabile• Importanza strategica della rappresentazione

binaria

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione

• Una rappresentazione si stabilisce tra – unoggetto da rappresentare(significato) ed

– un simbolo(potenzialmente complesso) che lo rappresenta(significante)

Il bimbo che gioca con un sasso lo identifica a seconda della situazione con un’arma o con un’auto

Page 12: 1 Algoritmi e rappresentazione - Università degli Studi di Roma … · – Numeri Razionali • Dati non Numerici – Caratteri – Testo – Grafica Dipende dall’alfabeto usato!

12

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione

• Espressivita’

• Univocita’ (===> Biettivita’ !!)

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Cani

Dogs

...

Rappresentazione: arbitrarietà

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Tipo di Rappresentazione: iconica

Page 13: 1 Algoritmi e rappresentazione - Università degli Studi di Roma … · – Numeri Razionali • Dati non Numerici – Caratteri – Testo – Grafica Dipende dall’alfabeto usato!

13

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Tipo di Rappresentazione: analogica

0

30

60100

200

130

Km/h

30

60

t

Km/h

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

10.0020.0030.0060.00t

Km/h

... ...1020

60

Tipo di Rappresentazione: digitale

(0, 10,…, 20,…, 60,…)

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

10.0020.0030.0060.00t

Km/h

... ...1020

60

Tipo di Rappresentazione: simbolica

(0, 10,…, 20,…, 60,…)

Page 14: 1 Algoritmi e rappresentazione - Università degli Studi di Roma … · – Numeri Razionali • Dati non Numerici – Caratteri – Testo – Grafica Dipende dall’alfabeto usato!

14

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Cosa vogliamo rappresentare

Cosa ci interessa rappresentare in un algoritmo per produrre una macchina in grado di elaborarlo?

• Parametri di ingresso

• Dati parziali

• Azioni/Istruzioni

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione Simbolica di Informazioni

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione Simbolica di Informazioni

• Dati Numerici– Numeri Naturali

– Numeri Interi (con segno)

– Numeri Razionali

• Dati non Numerici– Caratteri

– Testo

– Grafica

Dipende dall’alfabeto usato!

Page 15: 1 Algoritmi e rappresentazione - Università degli Studi di Roma … · – Numeri Razionali • Dati non Numerici – Caratteri – Testo – Grafica Dipende dall’alfabeto usato!

15

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione dei numeri naturali

• Numeri Naturali– Alfabeto, A

• Un insieme finito di B simboli, A=a, b, ….

– Sequenzeo Stringhe in A, A*

• n-ple, (a0, …, an-1) con ai∈A, ed n>=0

– Valore, cioe’ la funzione di rappresentazione:val : A* → N

data da: val((a0, …, an-1)) =

B e’ detta Base

=

n

i

ii Ba

0

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Alfabeti e Stringhe

• Esempio: Alfabeto A A = aA* = a, aa, aaa, aaaa, aaaaa, … ;

oppure:A = a, bA* = a, b, aa, ab, ba, bb, aaa, aab, aba,

baa, abb, …

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione come funzione

Sia N l’insieme dei numeri naturali 0, 1, 2, … . • Una rappresentazione di N è una funzione

iniettiva

r : N → A*• che possiede la funzione inversa (valore)

val : A* → N• tale che, data σ∈A*,

val(σ) =

∈altrimenti indefinito

=r(n) sen σ N

Page 16: 1 Algoritmi e rappresentazione - Università degli Studi di Roma … · – Numeri Razionali • Dati non Numerici – Caratteri – Testo – Grafica Dipende dall’alfabeto usato!

16

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione dei numeri naturali

• Numeri Naturali - Base 10– Alfabeto, A=0,1,2,3,…,9

– Sequenzeo Stringhe in A, A*

• es. (197) = 197, (1389) = 1389

– Valore, val((a1, …, an)) =

es. val(197)= 7*100 + 9*101 +1*102

val(1389)= 9*100 + 8*101 +3*102 +1*103

=

n

i

iia

0

10

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione dei numeri naturali

• Numeri Naturali - Base 8– Alfabeto, A=0,1,2,3,…,7

– Sequenzeo Stringhe in A, A*

• es. (127) = 127, (13) = 13, 183 e’ NON VALIDA!!

– Valore, val((a0, …, an)) =

es. val(127)= 7*80 + 2*81 +1*82=7+16+64=87val(13)= 3*80 + 1*81 = 11

(127)8=(87)10 (13)8=(11)10

=

n

i

iia

0

8

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione dei numeri naturali

• Numeri Naturali - Base 2– Alfabeto, A=0,1

– Sequenzeo Stringhe in A, A*

• es. (101) = 101, (10) = 10, 13 e’ NON VALIDA!!

– Valore, val((a0, …, an)) =

es. val(101)= 1*20 + 0*21 +1*22=1+4=5val(10)= 0*20 + 1*21 = 2

(101)2=(5)10 (10)2=(2)10

=

n

i

iia

0

2

Page 17: 1 Algoritmi e rappresentazione - Università degli Studi di Roma … · – Numeri Razionali • Dati non Numerici – Caratteri – Testo – Grafica Dipende dall’alfabeto usato!

17

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione dei numeri naturali

• Numeri Naturali - Base 16– Alfabeto, A=0,1, .., 9, A,B,C,D,E,F– Sequenzeo Stringhe in A, A*

• es. (10E4) = 10E4 1G3 e’ NON VALIDA!!

– Valore, val((a0, …, an)) =

ES. val(10E4) = 4*160 + 14*161 +1*163=

= 4+ 224 + 4096=4324

(10E4)16=(4324)10

=

n

i

iia

0

16

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione dei numeri con la virgola

• Numeri con la virgola - Base 2– Alfabeto, A=0,1– Sequenzeo Stringhe in A, A*

• es. (10.1) = 10.1 10.3 e’ NON VALIDA!!

– Valore, val((a-m,,... a0, …, an)) =

ES. val(10.1) = 1*2-1+ 0*20 + 1*21 =

= 0.5 + 0 + 2 = 2.5

(10.1)2=(2.5)10

−=

n

mi

iia 16

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione dei caratteri

Ciascun simbolo di un insieme di caratteri può essere rappresentato dal numero naturale che rappresenta la posizione del carattere nell’alfabeto

Simbolo a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5Posizione 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57

Page 18: 1 Algoritmi e rappresentazione - Università degli Studi di Roma … · – Numeri Razionali • Dati non Numerici – Caratteri – Testo – Grafica Dipende dall’alfabeto usato!

18

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione Binaria

La rappresentazione binaria è importante perchè si hanno oggetti bistato stabili (transistor)

Con questi oggetti si possono creare:

Parole di memoria di dimensione fissa, o rappresentazione su k bit

che avranno un Max e Min numero rappresentabile

Le parole di memoriarappresenteranno:

• numeri

• caratteri

Rappresentare numeri interi e reali con alfabeti binari

Approfondimento

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione di interi con segnoModulo e segno

– Modulo e segno

Bit del segno Rappresentazione binaria del modulo

Es. rms(5) = 000101 Es. rms(-5) = 100101

Approfondimento

Page 19: 1 Algoritmi e rappresentazione - Università degli Studi di Roma … · – Numeri Razionali • Dati non Numerici – Caratteri – Testo – Grafica Dipende dall’alfabeto usato!

19

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione di interi con segnoComplemento

– Complemento a una base B (su h cifre)

Bh

Bh

2

Bh

20 -1

- Bh

2 0

Z

N

Approfondimento

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione di interi con segnoComplemento

– Complemento a una base B (su h cifre)

rc(x) =

0<x2

hB- se )x-h(BBr

2

hB<x0 se (x)Br

Approfondimento

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione di interi con segnoComplemento

• Interi con segno– Complemento alla base 2 (su h cifre)

rc(x) =

≤−=

−=≤

0<x2

h2- se )x-h(2r

2

h2<x0 se (x)r

2

2

12

12

h

h

Approfondimento

Page 20: 1 Algoritmi e rappresentazione - Università degli Studi di Roma … · – Numeri Razionali • Dati non Numerici – Caratteri – Testo – Grafica Dipende dall’alfabeto usato!

20

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione di interi con segnoComplemento

• Interi con segno (Esempio)– Complemento alla base 2 (su 4 cifre)

– rc(x) =

≤−=

=≤

0<x2

2- se )x-(2r

2

2<x0 se (x)r

44

2

4

2

8

8

Approfondimento

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione di interi con segnoComplemento

• Interi con segno (Esempio)– Complemento alla base 2 (su 4 cifre)

– Sia x = (5)10, si ha 0<5<8 quindi

– rc(x) =

– rc(x)= r2(x) = (0101)

≤−=

=≤

0<x2

2- se )x-(2r

2

2<x0 se (x)r

44

2

4

2

8

8

Approfondimento

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione di interi con segnoComplemento

• Interi con segno (Esempio)– Complemento alla base 2 (su 4 cifre)

– Sia x = (-5)10 si ha -8<-5<0 quindi

– rc(x) =

– rc(x)= r2(24-|x|) = r2(16-|-5|)= r2(11)=(1011) 2

≤−=

=≤

0<x2

2- se )x-(2r

2

2<x0 se (x)r

44

2

4

2

8

8

Approfondimento

Page 21: 1 Algoritmi e rappresentazione - Università degli Studi di Roma … · – Numeri Razionali • Dati non Numerici – Caratteri – Testo – Grafica Dipende dall’alfabeto usato!

21

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione di interi con segnoComplemento

• Interi con segno - Min e Max– Complemento alla base 2 (suk cifre)

– MIN: (100…0)

– MAX: (011…1)

– Es. k=7 MIN = (1000000) ==> (-27-1)=-64

– MAX = (0111111) ==> (27-1 -1)=63

Approfondimento

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione di numeri razionaliVirgola fissa

Bit del segnoRappresentazione binaria della parte intera

Es. rms(2.5) = 00010.10.. Es. rms(-2.5) = 10010.10..

Rappresentazione binaria della parte decimale

Approfondimento

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione di numeri razionaliVirgola fissa

• Numeri Razionali - modulo e segno

– Quanti diversi numeri posso rappresentare?

k bit per la parte intera e h per la parte decimale

===> ho 2(k+h) numeri diversi

Es. k=2 h=5 ===> ho 27 = 128 numeri razionali diversi

Approfondimento

Page 22: 1 Algoritmi e rappresentazione - Università degli Studi di Roma … · – Numeri Razionali • Dati non Numerici – Caratteri – Testo – Grafica Dipende dall’alfabeto usato!

22

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione di numeri razionaliVirgola fissa

• Numeri Razionali - modulo e segno

– Quale max e min ?

k bit per la parte intera

===> min = 0 max = 2k -1

h per la parte decimale===> min = 0 max = 1- 2h

Es. k=2 h=5 ===> min = 0 max= (2k -1)+(1- 2-h)=3.96875

Parte Intera

Parte Decimale

Approfondimento

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione di numeri razionaliVirgola fissa

• Numeri Razionali - modulo e segno

– Qual è la distanza tra due numeri razionalirappresentati?

Se hoh bit per la parte decimale

===> r(x) - r(xsucc) = 0…0,0….1=2-h

Es. k=2 h=5 ===> r(x) - r(xsucc) = (0.00001)2=2-5= (0.03125)10

Approfondimento

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione di numeri razionaliVirgola fissa

• Numeri Razionali - modulo e segno– Qual è la distanza tra due numeri razionali

rappresentati?

Se hoh bit per la parte decimale

===> r(x) - r(xsucc) = 0…0,0….1=2-h

Es. k=2 h=5 ===> r(x) - r(xsucc) = (0.00001)2=2-5= (0.03125)10

x xsucc

Approfondimento

Page 23: 1 Algoritmi e rappresentazione - Università degli Studi di Roma … · – Numeri Razionali • Dati non Numerici – Caratteri – Testo – Grafica Dipende dall’alfabeto usato!

23

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione di numeri razionaliVirgola mobile

• Interpretazione del numero in virgola mobile:

x = ±mBe

segno Rappresentazione binaria della mantissa

Rappresentazione binaria dell’esponente

Es: 123,45 = 0,12345*103

rvm(123,45) =<+, 12345,3>X=0,000045 = 0,45*10-4

rvm(x) =<+, 45,-4>

em0/1

Approfondimento

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione di numeri razionaliVirgola mobile

x = ±m2e

m edehanno dimensione fissa, h ek rispettivamente

e: min=(10..0)= -2k-1

max=(01..1)= 2k-1-1

segno Mantissa (h) Esponente (k)

em0/1

m: min= (1…0)=2-1

max= (1…1)=2h-1

ComplementoNormalizzazione

Approfondimento

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione di numeri razionaliVirgola mobile

• Numeri Razionali - Virgola Mobile

– x = ±m2e

– m edehanno dimensione fissa, h ek rispettivamente

e: min=(10..0) = -2k-1

max=(01..1) = 2k-1-1

segno Mantissa (h) Esponente (k)

em0/1

m: min= (1…0) = 2-1

max= (1…1) = 2h-1

x: min= mmin2emin=2-1•2-2k-1 =2 -2k-1 -1

x: max= mmax2emax= (2h-1) •22k-1 -1

Approfondimento

Page 24: 1 Algoritmi e rappresentazione - Università degli Studi di Roma … · – Numeri Razionali • Dati non Numerici – Caratteri – Testo – Grafica Dipende dall’alfabeto usato!

24

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione di numeri razionaliVirgola mobile

x = ±m2e

segno Mantissa (h) Esponente (k)em0/1

x: min= mmin2emin=2-1•2-2k-1 =2 -2k-1 -1

x: max= mmax2emax= (2h-1) •22k-1 -1

Per h=2, k=5 x: min=2-1•2-2k-1 =2 -2k-1 -1 =2 -24 -1 =2 -17

x: max= (2h-1) •22k-1 -1 = 3 •216 -1 = 3•2 15

Approfondimento

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione di numeri razionaliVirgola mobile

Due numeri successivi

x = ±m2e xsucc= ±m’2e’

hanno lo stesso esponente ee mantisse me m’ successive

x = ±m2e xsucc= ±msucc2e

m: (1…0)=2-1 msucc= (10..1)=2-1+2-h

==>x-xsucc= (m-msucc)e=(0..01)e= 2-h eeMIN

eMAX

Approfondimento

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione di numeri razionaliVirgola mobile

Distanza tra due numeri successivi

x = ±m2e xsucc= ±msucc2e

hanno lo stesso esponente e e mantisse m e m’ successive

m: (1…0)=2-1 msucc= (10..1)=2-1+2-h

==>x-xsucc= (m-msucc)e=(0..01)e= 2-h eeMINeMAX

x xsucc x xsucc

...

Approfondimento

Page 25: 1 Algoritmi e rappresentazione - Università degli Studi di Roma … · – Numeri Razionali • Dati non Numerici – Caratteri – Testo – Grafica Dipende dall’alfabeto usato!

25

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Rappresentazione di numeri razionaliVirgola mobile

Il formato IEEE x = ±m2e

con

h = 23

k = 8

segno Mantissa (h) Esponente (k)

em0/1

x: min 2-1•2-2k-1 = 2 -2k-1 -1 = 2 -27 -1 = 2 -129

x: max (2h-1) •22k-1 -1 = (223-1 )•2127 = !!!

Es. (13.25)10 => 0 10111000000000000000000 11111100

Approfondimento

F.M.Zanzotto, R.Basili Abilità InformaticheFacoltà di Lettere e Filosofia

University of Rome “Tor Vergata”

Ricapitolazione: Rappresentazione dell’Informazione

Questioni di rappresentazione• Rappresentazione: essenza• Tipi di rappresentazione• Cosa ci interessa rappresentare in un algoritmo per

produrre una macchina in grado di elaborarlo?Idee fondamentali• Tutto è un rappresentato da un alfabeto• Tutto è un numero se numerabile• Importanza strategica della rappresentazione

binaria