Informatica - CNR2007/11/09  · 09/11/2007 Introduzione ai sistemi informatici 3 Introduzione ai...

14
09/11/2007 Introduzione ai sistemi informatici 1 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl Informatica Informatica Pietro Storniolo [email protected] http://www.pa.icar.cnr.it/storniolo/info200708 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl Algoritmi Algoritmi Esempi Esempi Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright © 2005 – The McGraw-Hill Companies srl Esempio: gestione biblioteca Esempio: gestione biblioteca Libri disposti sugli scaffali Libri 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: Scaffale Scaffale (i.e. numero dello scaffale) Posizione Posizione 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, nell nell’ordine: ordine: cognome cognome e nome nome dell’autore titolo titolo del libro data data di pubblicazione numero numero dello scaffale in cui si trova posizione posizione attribuita al libro nello scaffale.

Transcript of Informatica - CNR2007/11/09  · 09/11/2007 Introduzione ai sistemi informatici 3 Introduzione ai...

Page 1: Informatica - CNR2007/11/09  · 09/11/2007 Introduzione ai sistemi informatici 3 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright ©

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.

Page 2: Informatica - CNR2007/11/09  · 09/11/2007 Introduzione ai sistemi informatici 3 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright ©

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"

Page 3: Informatica - CNR2007/11/09  · 09/11/2007 Introduzione ai sistemi informatici 3 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright ©

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

Page 4: Informatica - CNR2007/11/09  · 09/11/2007 Introduzione ai sistemi informatici 3 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright ©

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

Page 5: Informatica - CNR2007/11/09  · 09/11/2007 Introduzione ai sistemi informatici 3 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright ©

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.

Page 6: Informatica - CNR2007/11/09  · 09/11/2007 Introduzione ai sistemi informatici 3 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright ©

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

Page 7: Informatica - CNR2007/11/09  · 09/11/2007 Introduzione ai sistemi informatici 3 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright ©

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

Page 8: Informatica - CNR2007/11/09  · 09/11/2007 Introduzione ai sistemi informatici 3 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright ©

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

Page 9: Informatica - CNR2007/11/09  · 09/11/2007 Introduzione ai sistemi informatici 3 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright ©

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)

Page 10: Informatica - CNR2007/11/09  · 09/11/2007 Introduzione ai sistemi informatici 3 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright ©

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>

Page 11: Informatica - CNR2007/11/09  · 09/11/2007 Introduzione ai sistemi informatici 3 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright ©

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

Page 12: Informatica - CNR2007/11/09  · 09/11/2007 Introduzione ai sistemi informatici 3 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright ©

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.

Page 13: Informatica - CNR2007/11/09  · 09/11/2007 Introduzione ai sistemi informatici 3 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright ©

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.

Page 14: Informatica - CNR2007/11/09  · 09/11/2007 Introduzione ai sistemi informatici 3 Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari Copyright ©

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).).