Informatica - CNR2007/11/09 · 09/11/2007 Introduzione ai sistemi informatici 3 Introduzione ai...
Transcript of Informatica - CNR2007/11/09 · 09/11/2007 Introduzione ai sistemi informatici 3 Introduzione ai...
09/11/2007
Introduzione ai sistemi informatici 1
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
InformaticaInformatica
Pietro Storniolo
[email protected]://www.pa.icar.cnr.it/storniolo/info200708
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
AlgoritmiAlgoritmi
EsempiEsempi
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
Esempio: gestione bibliotecaEsempio: gestione biblioteca�� Libri disposti sugli scaffaliLibri disposti sugli scaffali
�� La posizione di ogni libro La posizione di ogni libro èè fissa ed fissa ed èè individuata da individuata da due coordinate:due coordinate:•• ScaffaleScaffale (i.e. numero dello scaffale)
•• PosizionePosizione nello scaffale
�� La biblioteca La biblioteca èè dotata di uno schedario (ordinato dotata di uno schedario (ordinato per autore/i e titolo). Ogni scheda contiene, per autore/i e titolo). Ogni scheda contiene, nellnell’’ordine:ordine:•• cognomecognome e nomenome dell’autore•• titolotitolo del libro•• datadata di pubblicazione
•• numeronumero dello scaffale in cui si trova•• posizioneposizione attribuita al libro nello scaffale.
09/11/2007
Introduzione ai sistemi informatici 2
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
Esempio di schedaEsempio di scheda
Autore/i: Sciuto, Donatella
Buonanno, Giacomo
Mari, Luca
Titolo: Introduzione ai
Sistemi Informatici,
III Edizione, 2005
Scaffale: 22
Posizione: 11
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
Formulazione dell'algoritmoFormulazione dell'algoritmo
1. Decidi il libro da richiedere
2. Preleva il libro richiesto
1.1. Decidi il libro da richiedereDecidi il libro da richiedere
2.2. Preleva il libro richiestoPreleva il libro richiesto
Se un passo non è direttamente comprensibilecomprensibile ed eseguibileeseguibile dall’esecutore, occorre dettagliarlo a sua volta mediante un ulteriore algoritmo.
Questo modo incrementale di procedere sidice top-down o anche procedimento per raffinamenti successivi.
Questo modo incrementale di procedere sidice top-down o anche procedimento per raffinamenti successivi.
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
Un algoritmo per il prelievoUn algoritmo per il prelievo
1.1. Decidi il libro da richiedereDecidi il libro da richiedere
2.2. Cerca la scheda del libro richiestoCerca la scheda del libro richiesto
3.3. Segnati numero scaffale e posizioneSegnati numero scaffale e posizione
4.4. Cerca lo scaffale indicatoCerca lo scaffale indicato
5.5. Accedi alla posizione indicata e preleva il Accedi alla posizione indicata e preleva il
libro libro
6.6. Scrivi i tuoi dati sulla "scheda prestito"Scrivi i tuoi dati sulla "scheda prestito"
09/11/2007
Introduzione ai sistemi informatici 3
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
Il Il ““sottosotto--algoritmoalgoritmo””1.1. Prendi la prima scheda.Prendi la prima scheda.
2.2. Esamina se titolo e autore/i sono quelli cercati.Esamina se titolo e autore/i sono quelli cercati.In caso positivo la ricerca termina con successo, In caso positivo la ricerca termina con successo, altrimenti passa alla scheda successiva e ripeti.altrimenti passa alla scheda successiva e ripeti.
3.3. Se esaurisci le schede il libro cercato non esiste.Se esaurisci le schede il libro cercato non esiste.
�� Cosa succede se lCosa succede se l’’autore cercato autore cercato èè““Zombie ZuzzurelloneZombie Zuzzurellone””??
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
Un Un ““sottosotto--algoritmoalgoritmo”” miglioremigliore
1.1. Esamina la scheda centrale dello schedario.Esamina la scheda centrale dello schedario.
2.2. Se la scheda centrale corrisponde al libro Se la scheda centrale corrisponde al libro
cercato cercato allora allora termina.termina.
3.3. Altrimenti, prosegui allo stesso modo nella Altrimenti, prosegui allo stesso modo nella
metmetàà superiore o inferiore dello schedario superiore o inferiore dello schedario
a seconda che il libro cercato segua o a seconda che il libro cercato segua o
preceda quello indicato sulla scheda.preceda quello indicato sulla scheda.
LL’’algoritmo algoritmo èè incompleto!incompleto!
CC’è’è unun’’altra condizione di terminazione: altra condizione di terminazione: quando il libro non esiste.quando il libro non esiste.
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
Revisione del passo 2Revisione del passo 21.1. Esamina la scheda centrale dello schedario.Esamina la scheda centrale dello schedario.
2.2. Se Se la scheda centrale corrisponde al libro cercatola scheda centrale corrisponde al libro cercatooppure se oppure se la parte di schedario da consultare la parte di schedario da consultare èèvuotavuota allora allora termina.termina.
3.3. Altrimenti, prosegui allo stesso modo nella metAltrimenti, prosegui allo stesso modo nella metààsuperiore o inferiore dello schedario a seconda superiore o inferiore dello schedario a seconda che il libro cercato segua o preceda quello che il libro cercato segua o preceda quello indicato sulla scheda.indicato sulla scheda.
Libro inesistenteLibro inesistenteLibro inesistenteLibro trovatoLibro trovatoLibro trovato
09/11/2007
Introduzione ai sistemi informatici 4
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
Esempio: prendi lEsempio: prendi l’’automobileautomobile1.1. Aprire lAprire l’’autoauto
2.2. Aprire la portieraAprire la portiera
3.3. Sedersi al posto di guidaSedersi al posto di guida
4.4. Schiacciare la frizioneSchiacciare la frizione
5.5. Avviare il motoreAvviare il motore
6.6. Inserire la prima marciaInserire la prima marcia
7.7. Rilasciare Rilasciare ““delicatamentedelicatamente”” la frizione per partirela frizione per partire
NB: I passi sono eseguiti in sequenza e l'ordine delleistruzioni è essenziale per la correttezza dell'algoritmo!
NB:NB: I I passipassi sonosono eseguitieseguiti in in sequenzasequenza e e l'ordinel'ordine delledelle
istruzioniistruzioni èè essenziale per la correttezza dell'algoritmo!essenziale per la correttezza dell'algoritmo!
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
Istruzioni condizionateIstruzioni condizionate1.1. Aprire lAprire l’’autoauto
2.2. Aprire la portieraAprire la portiera
3.3. Sedersi al posto di guidaSedersi al posto di guida
4.4. Schiacciare la frizioneSchiacciare la frizione
5.5. Avviare il motoreAvviare il motore
6.6. SeSe si deve partire in avantisi deve partire in avanti
inserire la prima marciainserire la prima marcia
altrimentialtrimenti
inserire la retromarciainserire la retromarcia
7.7. Rilasciare Rilasciare ““delicatamentedelicatamente”” la frizione per partirela frizione per partire
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
Ripetizione ciclica di istruzioniRipetizione ciclica di istruzioni1.1. Aprire lAprire l’’autoauto
2.2. Aprire la portieraAprire la portiera
3.3. Sedersi al posto di guidaSedersi al posto di guida
4.4. Schiacciare la frizioneSchiacciare la frizione
5.5. FinchFinchéé non si avvia il motorenon si avvia il motoregirare la chiave per attivare lgirare la chiave per attivare l’’avviamentoavviamento
6.6. Se si deve partire in avantiSe si deve partire in avantiinserire la prima marciainserire la prima marcia
altrimentialtrimentiinserire la retromarciainserire la retromarcia
7.7. Rilasciare Rilasciare ““delicatamentedelicatamente”” la frizione per partirela frizione per partire
09/11/2007
Introduzione ai sistemi informatici 5
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
EsercizioEsercizio
�� L'esecutore deve leggere un intero N e L'esecutore deve leggere un intero N e restituire N! (fattoriale) dove restituire N! (fattoriale) dove N! N! = N = N ×× (N(N——1)!1)! = N = N ×× (N(N——1) 1) ×× (N(N——2) 2) ×× …… ×× 11
�� AttenzioneAttenzione• scrivere una prima versione dell’algoritmo immaginando che i dati di ingresso siano sempre corretti (cioè sempre maggiori di zero);
• scrivere una seconda versione dell’algoritmo in cui sia considerata anche la possibilità che siano inseriti valori inferiori a 1.
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
Start
Leggi N
P ���� 1
I ���� 1
I < NNO SI
I ���� I + 1
P ���� P * IScrivi P
End
Diverse alternative Diverse alternative (e.g. 7!)(e.g. 7!)1 * 2 = 2
2 * 3 = 6
6 * 4 = 24
24 * 5 = 120
120 * 6 = 720
720 * 7 = 5040
7 * 6 = 42
42 * 5 = 210
210 * 4 = 840
840 * 3 = 2520
2520 * 2 = 5040Start
Leggi N
P ���� N
N > 2NO SI
N ���� N - 1
P ���� P * NScrivi P
End
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
T pos N I P note
t1 ���� ?? ?? ??
t2 ���� 4 ?? ??t3 ���� 4 1 1 I < Nt4 ���� 4 1 1t5 ���� 4 2 2 I < Nt6 ���� 4 2 2t7 ���� 4 3 6 I < Nt8 ���� 4 3 6t9 ���� 4 4 24 I = Nt10 ���� 4 4 24
t11 ���� 4 4 24
““TracciatoTracciato”” delldell’’esecuzioneesecuzione
Ipotizziamo di calcolare 4!Start
Leggi N
P ���� 1
I ���� 1
I < NNO SI
I ���� I + 1
P ���� P * IScrivi P
End
����
����
����
��������
����
Attenzione: il valore iniziale non è 0!!
Può non esserci oppure esserci ma nonessere noto.
09/11/2007
Introduzione ai sistemi informatici 6
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
Start
Leggi N
P ���� 1
I ���� 1
I < NNO SI
I ���� I + 1
P ���� P * IScrivi P
End
Le alternative sono Le alternative sono ““diversediverse””??Start
Leggi N
P ���� N
N > 2NO SI
N ���� N - 1
P ���� P * NScrivi P
End
Cosa succede se il dato in ingresso non rispetta le specifiche (N > 0)?Per esempio, che risultato restituisce l’esecutore per N = 0 ? e per N = -4 ?
N = 0 N = 0 �������� P = 1P = 1
N = N = --4 4 �������� P = 1P = 1N = 0 N = 0 �������� P = 0P = 0
N = N = --4 4 �������� P = P = --44
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
N > 0NO SI
Scrivi
“Errore!”
End
P ���� 1
I ���� 1
I < NNO SI
I ���� I + 1
P ���� P * IScrivi P
Start
Leggi N
Start
Leggi N
P ���� 1
I ���� 1
I < NNO SI
I ���� I + 1
P ���� P * IScrivi P
End
Come gestire le Come gestire le ““eccezionieccezioni””
Start
Leggi N
P ���� 1
I ���� 1
I < NNO SI
I ���� I + 1
P ���� P * IScrivi P
End
N > 0NO SI
Scrivi
“Errore!”
Algoritmo per il caso “normale”.Come lo modifico per gestire anchei casi che non erano stati previsti?
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
Somma dei primi N numeri naturaliSomma dei primi N numeri naturali Inizio
Leggi n
No Sì
ris ← 0 i ← 0
Scrivi ris
Fine
i > n ?
ris ← ris + i i ← i +1
Inizio
Leggi n
No Sì
ris ← n
Scrivi ris
Fine
n < 1 ?
n ← n –1 ris ← ris + n
09/11/2007
Introduzione ai sistemi informatici 7
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
Somma dei primi N numeri naturaliSomma dei primi N numeri naturali
Inizio
Leggi n
No Sì
ris ← 0 i ← 0
Scrivi ris
Fine
i > n ?
ris ← ris + i i ← i +1
2
1
3
4 5
6
T posiz. n i ris note
t01 � ?? ?? ?? Variabili non ancora definite
t02 � 4 ?? ?? Letto il valore 4 e inserito in n
t03 � 4 0 0 i < n ⇒ posiz. 4
t04 � 4 0 0
t05 � 4 1 0 i < n ⇒ posiz. 4
t06 � 4 1 0
t07 � 4 2 1 i < n ⇒ posiz. 4
t08 � 4 2 1
t09 � 4 3 3 i < n ⇒ posiz. 4
t10 � 4 3 3
t11 � 4 4 6 i = n ⇒ posiz. 4
t12 � 4 4 6
t13 � 4 5 10 i > n ⇒ posiz. 5
t14 � 4 5 10
t15 � 4 5 10 Stampato risultato (10)
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
Somma dei primi N numeri naturaliSomma dei primi N numeri naturali�� Esiste infatti una soluzione Esiste infatti una soluzione
analitica: analitica: nn ×× (n(n ++ 1)1) // 22
�� LL’’algoritmo algoritmo èè molto pimolto piùù semplice semplice (il numero di istruzioni da (il numero di istruzioni da eseguire eseguire èè costante e non costante e non dipende dal valore di dipende dal valore di nn).).
Inizio
Leggi n
ris ← n × (n + 1) / 2
Scrivi ris
Fine
2
1
3
4
T posiz. N ris note
t01 � ?? ?? Variabili non ancora definite
t02 � 4 ?? Letto il valore 4 e inserito in n
t03 � 4 10 Calcolato il risultato 10=4×5/2
t04 � 4 10 Stampato risultato (10)
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
Somma dei primi Somma dei primi
N numeri naturaliN numeri naturali
Start
Leggi N
S ���� 0I ���� 1
S ���� S+II ���� I+1
Scrivi S
END
I > N ?NOSI
Versione con un ciclo a Versione con un ciclo a
condizione finalecondizione finale
09/11/2007
Introduzione ai sistemi informatici 8
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
IpertestoIpertesto�� IpertestoIpertesto èè un documento la cui un documento la cui
struttura di consultazione non struttura di consultazione non èèlinearelineare• le parti di cui è logicamente costituito
sono organizzate non semplicemente in successione, ma secondo una struttura più complessa;
• ogni nodo può contenere degli anchorpoint, per relazioni (link o hyperlink) che rimandano ad altre parti (target) del documento.
�� Se lSe l’’ipertesto ipertesto èè consultato tramite consultato tramite un calcolatore, gli un calcolatore, gli anchoranchor pointpointpresenti nella parte visualizzata presenti nella parte visualizzata sono sono ““aree attivearee attive”” la cui selezione la cui selezione ((pointpoint--andand--clickclick) ha come risultato ) ha come risultato ll’’attivazione di un attivazione di un linklink e quindi la e quindi la visualizzazione del contenuto della visualizzazione del contenuto della parte relazionata.parte relazionata.
Link
Target
Anchor point
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
IpertestoIpertesto
09/11/2007
Introduzione ai sistemi informatici 9
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
MultimediaMultimedia�� Con il termine Con il termine multimedialitmultimedialitàà si indica un insieme si indica un insieme di tecnologie finalizzate alla gestione integrata di di tecnologie finalizzate alla gestione integrata di dati basati appunto su dati basati appunto su media media differenti.differenti.
�� I dati che si possono integrare in un documento I dati che si possono integrare in un documento multimediale comprendono almeno cinque multimediale comprendono almeno cinque categorie:categorie:•• testitesti;•• singolesingole immaginiimmagini, generate tramite calcolatore o riprodotte da immagini esterne;
•• immagini in movimentoimmagini in movimento: animazioni (successioni di immagini generate da calcolatore) e filmati (riprese registrate dal mondo esterno);
•• suonisuoni (cioè voce umana, musica, rumori, …);•• programmiprogrammi.
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
MultimediaMultimedia
Un click su questa icona attiva Un click su questa icona attiva
o disattiva lo disattiva l’’audio collegato audio collegato
alla pagina web visualizzata alla pagina web visualizzata
(sempre che il calcolatore (sempre che il calcolatore
clientclient sia dotato di una sia dotato di una
periferica adatta a riprodurlo)periferica adatta a riprodurlo)
Un click su questa immagine Un click su questa immagine
fa partire il video di fa partire il video di
presentazione del film presentazione del film
(sempre che il calcolatore (sempre che il calcolatore
clientclient sia dotato del software sia dotato del software
adatto a riprodurlo)adatto a riprodurlo)
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
HTMLHTML
HyperTextHyperText MarkupMarkup LanguageLanguage
Il linguaggio per i documenti del Il linguaggio per i documenti del
World World WideWide Web (WWW)Web (WWW)
09/11/2007
Introduzione ai sistemi informatici 10
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
HTMLHTML�� Cosa possono contenere i documenti WEB?Cosa possono contenere i documenti WEB?
• testo
• immagini
• suoni
• collegamenti ipertestuali (link) a:• altre pagine
• programmi
• immagini, suoni, ...
�� Come vengono trasferiti i documenti Web?Come vengono trasferiti i documenti Web?
• attraverso la rete Internet usando il protocollo applicativoHTTP (HyperText Transfer Protocol) costruito al di sopra di TCP/IP (protocollo di trasporto)
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
HTML HTML –– i i tagtag�� Un Un documentodocumento HTML HTML èè un file di un file di testotesto cheche contienecontiene
istruzioniistruzioni (TAG) (TAG) cheche diconodicono al browser come al browser come
presentarepresentare
• il testo
• oggetti multimediali (immagini, suoni..)
• collegamenti ipertestuali ad altri documenti
�� SintassiSintassi deidei tag:tag:
•• <<nome_tagnome_tag>>
• … testo su cui il tag esercita il suo effetto …
•• </</nome_tagnome_tag>> (non richiesto da tutti i tag)
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
HTML: HTML: la struttura del documento la struttura del documento �� Un documento HTML Un documento HTML èè costituito da 2 parti fondamentali:costituito da 2 parti fondamentali:
• HEAD: contiene le informazioni relative, per esempio:• titolo della pagina visualizzato sulla barra di Explorer
• informazioni utili per i motori di ricerca
• BODY: contiene il documento vero e proprio (la pagina)
�� Struttura tipicaStruttura tipica<HTML><HTML><HEAD><HEAD>
…… descrizione delle caratteristiche del documento descrizione delle caratteristiche del documento ……</HEAD></HEAD><BODY><BODY>
…… documento documento ……</BODY></BODY>
</HTML></HTML>
09/11/2007
Introduzione ai sistemi informatici 11
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
<HTML><HEAD><TITLE>
</TITLE>
</HEAD>
<BODY><H1></H1>
<DIV>
<P><A>
<P>
<DIV>
<H1></H1><BODY>
</HEAD>
</TITLE>
<TITLE><HEAD>
<HTML>
</DIV>
H1
BODYBODY
HTML
HTML: la gerarchia dei documentiHTML: la gerarchia dei documenti
</HTML></BODY>
</DIV>
</P>
</A>
</HTML>
<P>
</P><BR>
HTML
HEADHEAD
TITLE
</BODY>
TITLE
H1 DIVDIV
A
P </P>P
A
<A>
</A>
PP
<P>
</P><BR>
BRBR
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
Un esempio di HTMLUn esempio di HTML<H3>Esempio di un <I><H3>Esempio di un <I>formform</I> compilabile da parte dell'utente</H3></I> compilabile da parte dell'utente</H3><FORM METHOD="post" ACTION="<FORM METHOD="post" ACTION="scriptsscripts//formman.exeformman.exe">">Condizione di ricerca: <INPUT TYPE="Condizione di ricerca: <INPUT TYPE="texttext" NAME="condizione">" NAME="condizione"><BR><BR>Riporta i risultati della ricerca in forma:Riporta i risultati della ricerca in forma:<INPUT TYPE="radio" NAME="modo" VALUE="breve" CHECKED>breve<INPUT TYPE="radio" NAME="modo" VALUE="breve" CHECKED>breve<INPUT TYPE="radio" NAME="modo" VALUE="estesa">estesa<INPUT TYPE="radio" NAME="modo" VALUE="estesa">estesa<BR><BR><INPUT TYPE="<INPUT TYPE="submitsubmit" VALUE="Esegui la ricerca">" VALUE="Esegui la ricerca"></FORM></FORM>
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
09/11/2007
Introduzione ai sistemi informatici 12
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
La trasmissione dellLa trasmissione dell’’informazione informazione
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
Trasmettitore RicevitoreCanale di trasmissione
segnale
Sistema di trasmissione
Sistema di comunicazioneSistema di comunicazione
Sorgente
messaggio
Destinazione
messaggiorumore
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
QuantitQuantitàà di informazionedi informazione
�� Un messaggio Un messaggio èè costituito da una successione di lunghezza costituito da una successione di lunghezza finita di simboli scelti in un alfabeto (finita di simboli scelti in un alfabeto (““alfabeto della alfabeto della sorgentesorgente”” XX == {x{x11, , ……, , xxnn}}););
�� Un simbolo Un simbolo xxii porta una quantitporta una quantitàà di informazione di informazione I(I(xxii))
•• monotona crescentemonotona crescente all’aumentare della cardinalità dell’alfabeto;
•• I(I(xxii)) == 00 se nn == 11.
�� Si sceglie il logaritmo in base 2: Si sceglie il logaritmo in base 2: I(I(xxii)) ≡≡ loglog22(n)(n)..
•• I(I(xxii xxjj)) == I(I(xxii)+I()+I(xxjj));
• se n = 2, per ognuno dei due simboli si ottiene I(xi) = 1, cioè un simbolo scelto tra due porta 1 bit di informazione.
�� I(I(xxii)) ≡≡ loglog22(n)(n) èè equivalente a equivalente a I(I(xxii)) ≡≡ –– loglog22(1/n)(1/n)..
�� I simboli I simboli xxii possono essere associati alla probabilitpossono essere associati alla probabilitàà di emissione di emissione p(p(xxii)) da da parte della sorgente:parte della sorgente:
• la probabilità non è uguale per tutti i simboli;
• la somma delle probabilità di tutti i simboli è pari a 1.
09/11/2007
Introduzione ai sistemi informatici 13
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
QuantitQuantitàà di informazionedi informazione�� Si può sostituire la frequenza di emissione di un simbolo Si può sostituire la frequenza di emissione di un simbolo 1/n1/n con la sua probabilitcon la sua probabilitàà di emissione di emissione p(p(xxii))::•• I(I(xxii)) ≡≡ –– loglog22(1/n)(1/n) diventa I(I(xxii)) ≡≡ –– loglog22(p((p(xxii))))
�� Caratteristiche di Caratteristiche di I(I(xxii))• ogni simbolo dell’alfabeto può portare una differente quantità di
informazione, dipendente dalla probabilità della sua emissione;
• valore minimo pari a 00 per p(p(xxii)) == 11;• non c’è limite superiore, infatti I(I(xxii))→∞→∞→∞→∞→∞→∞→∞→∞ per p(p(xxii))→→→→→→→→00.
�� EsempioEsempio• alfabeto X = {A, C, G, T}X = {A, C, G, T};
• date p(A)p(A) == 0.50.5, p(C)p(C) == 0.250.25, p(G)p(G) == 0.1250.125, p(T)p(T) == 0.1250.125;
• si ottiene•• I(A)I(A) = – log2(0.5) = log2(2) = 1 bit,1 bit,
•• I(C)I(C) = – log2(0.25) = log2(4) = 2 bit,2 bit,
•• I(G)I(G) == I(T)I(T) = – log2(0.125) = log2(8) = 3 bit.3 bit.
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
Entropia e flusso di informazione di Entropia e flusso di informazione di
una sorgenteuna sorgente
�� La sorgente viene caratterizzata dal valor medio di La sorgente viene caratterizzata dal valor medio di I(I(xxii))::
• H(X) = Σ p(xi) log2(p(xi)) è l’entropia della sorgente, misurata in bit/simbolo;
• se gli n simboli sono equiprobabili (p(xi) = 1/n) si ha che H(X) = log2(n).
�� Nel caso dellNel caso dell’’esempio di prima si ottieneesempio di prima si ottieneH(X)H(X) == 0.50.5××11 ++ 0.250.25××22 ++ 0.1250.125××33××22 == 1.75 bit/simbolo.1.75 bit/simbolo.
�� Per completare la caratterizzazione della sorgente serve Per completare la caratterizzazione della sorgente serve anche la anche la velocitvelocitàà V(X)V(X) con cui una sorgente emette i con cui una sorgente emette i simboli, misurata in simboli al secondo.simboli, misurata in simboli al secondo.
�� F(X)F(X) == H(X)H(X)××V(X)V(X) èè il il flusso di informazioneflusso di informazione della sorgente;della sorgente;• si misura in bit/s (bps, bit per secondo).
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
Caratterizzazione del canaleCaratterizzazione del canale�� I simboli emessi dalla sorgente passano attraverso I simboli emessi dalla sorgente passano attraverso un canale di trasmissione.un canale di trasmissione.
�� Per la presenza di rumore, può accadere che nel Per la presenza di rumore, può accadere che nel passaggio attraverso il canale il simbolo in ingresso passaggio attraverso il canale il simbolo in ingresso venga trasformato in un altro simbolo.venga trasformato in un altro simbolo.
�� Per caratterizzare il comportamento del canale si Per caratterizzare il comportamento del canale si deve indicare per ogni simbolo deve indicare per ogni simbolo xxii in ingresso al in ingresso al canale il simbolo canale il simbolo yyjj che si ottiene in uscita.che si ottiene in uscita.
09/11/2007
Introduzione ai sistemi informatici 14
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
EquivocazioneEquivocazione H(X|Y)H(X|Y)�� LL’’equivocazioneequivocazione H(X|Y) del canale H(X|Y) del canale rappresenta la quantitrappresenta la quantitàà di informazione che, di informazione che, dopo aver osservato i simboli in uscita dal dopo aver osservato i simboli in uscita dal canale, si può ancora mediamente ottenere canale, si può ancora mediamente ottenere osservando i simboli che sono stati osservando i simboli che sono stati effettivamente inviati attraverso il canale effettivamente inviati attraverso il canale stesso.stesso.
�� In pratica questo valore indica quanta In pratica questo valore indica quanta informazione informazione èè stata persa nel passaggio stata persa nel passaggio attraverso il canale.attraverso il canale.
Introduzione ai sistemi informatici 3/ed
Donatella Sciuto, Giacomo Buonanno, Luca MariCopyright © 2005 – The McGraw-Hill Companies srl
CapacitCapacitàà di canaledi canale�� H(X)H(X)––H(X|Y), H(X|Y), èè la quantitla quantitàà media di informazione media di informazione
che si ottiene allche si ottiene all’’uscita del canale data una uscita del canale data una
sorgente di entropia H(X)sorgente di entropia H(X)
�� K(C)K(C) == maxmaxXX[H(X)[H(X) –– H(X|Y)]H(X|Y)] ×× V(C) V(C) èè la capacitla capacitàà di di
canale e rappresenta la massima quantitcanale e rappresenta la massima quantitàà di di
informazione che può transitare lungo il canale C informazione che può transitare lungo il canale C
per unitper unitàà di tempo (in di tempo (in bpsbps).).