69
FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI [email protected] Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale ore: 90 n° crediti: 10 Orario Lunedì 14-15.45 Aula 3 PP2 Martedì 11.30-13.15 Aula 8 PP2 Mercoledì 14-15.45 Aula 3 PP2

FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI [email protected] Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Embed Size (px)

Citation preview

Page 1: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

 

FONDAMENTI DI INFORMATICA I 

A.A. 2006-2007 - prof. Angelo [email protected]

Data inizio: 5 marzo 2007Data fine: 25 giugno 2007Totale ore: 90n° crediti: 10

Orario

Lunedì 14-15.45 Aula 3 PP2 Martedì 11.30-13.15 Aula 8 PP2 Mercoledì 14-15.45 Aula 3 PP2

Page 2: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale
Page 3: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

TEST D’INGRESSO

• Cosa indicano le seguenti sigle: NMOS, NAND, DRAM, CD-ROM?

1. Come si chiama il fisico che ha realizzato il primo microprocessore?Qual è la sua nazionalità?

3. Come si chiama il fisico, premio Nobel, che ha inventato il circuito integrato?

4. Cos’è una memoria cache?

5. Cosa si misura in Megahertz? E in Megabyte?

6. Qual è il risultato della seguente operazione: “9 modulo 4”?

7. Cosa indica la parola inglese “file”?

8. Quali sono I primi 5 termini della successione di Fibonacci?

9. A cosa può servire il triangolo di Tartaglia?

10. Quanto valgono le seguenti espressioni: 2-3 ; 0,54 ; 161/2 ?

Page 4: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

PROGRAMMA

Le basi dei calcolatori digitali

Sistemi di numerazione binari

• Codifica binaria pura (Conversioni di base. Operazioni)

• Sistema esadecimale

• Codifica BCD

• Codici binari alfanumerici (Codifiche ASCII, EBCDIC)

• Codici rilevatori di errori

• Codifica delle grandezze fisiche (Digitalizzazione di una forma d’onda analogica. Digitalizzazione di una immagine. Vantaggi della digitalizzazione).

Page 5: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Algebra di Boole

•Operatori AND, OR, NOT

•Tabelle di verità

•Operatore OR esclusivo (XOR)

•Addizionatore binario

•Operatore NOR

•Operatore NAND

•Operatori logici orientati al bit

Macchina di Turing

•Macchina sommatrice

•Macchina copiatrice

Page 6: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Architettura di un elaboratore elettronico

• Macchina di von Neumann

• Unità centrale di elaborazione (processori Intel, AMD, Alpha, Mips, SPARC, ARM)

• ROM BIOS

• Bus di sistema e di espansione (ISA, MCA, EISA, SCSI)

• Memoria (RAM, cache)

• Scheda madre. Disco rigido (RAID, ATA seriale)

• Lettori di floppy disc, CD-ROM, DVD

• Porte seriali e parallele

Page 7: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Algoritmi. Diagrammi di flusso. Il controllo del programma (Selezione binaria. Selezione multipla. Iterazione). Strutturazione degli algoritmi. Struttogrammi. Iterazione enumerativa (for). Iterazione con guardia all’inizio (while). Calcolo del fattoriale. Iterazione con guardia alla fine (do-while). Calcolo della radice quadrata. Cicli nidificati. Confronto tra do-while e while. Iterazione e ricorsività (Definizione ricorsiva di fattoriale e di potenza). Algoritmi di ricerca (lineare; binaria; tempo di esecuzione). Notazione O-grande. Algoritmi di ordinamento (a bolle; per selezione; per inserimento; Shell Sort; Heap Sort; per fusione; Quicksort; esterno; fusione bilanciata). Cifratura RSA (Chiavi asimmetriche. Cifratura e decifrazione.

Strutture dati. Tipi dati predefiniti (Tipi dati semplici. Tipi dati strutturati).

Page 8: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

4. Software di base•Sistemi operativi (processi; memoria virtuale; file e indirizzari; strati del sistema operativo; utilità)•Cenni ai sistemi operativi Dos e Windows•Gerarchia e tipologie dei linguaggi di programmazione

3. La programmazione nel linguaggio C•Introduzione: la modularità•Funzioni: main(), printf()•Commenti•Tipi di dati, dichiarazioni e visualizzazioni•Assegnazioni, indirizzi e ingresso interattivo•Selezione (if, switch)•Iterazione (while, for, do-while)•Funzioni definite dall’utente•Tipi di dati complessi (array, indirizzi, puntatori, stringhe, strutture)

Page 9: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

5. Il sistema operativo Linux• Cenno sulle principali distribuzioni (SuSE, DLD, Mandrake,

RedHat, Slackware, Turbo)• Shell e utilità • Principi di amministrazione• Il kernel• Processi e comunicazioni• Il file system• Il sistema X Windowing

Page 10: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

TESTI CONSIGLIATI:

Gallippi, A. Dizionario di informatica Inglese/Italiano, Tecniche Nuove, Milano, 2006

Deitel, H.M. C Corso completo di programmazione, Apogeo, Milano, 2004.

Medri, D. Linux facile, Edizioni Seven Star, Roma, 2001.

Missiroli, M. Linux da zero, Edizioni Seven Star, Roma, 2002.

Page 11: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

INTRODUZIONE

Il termine informatica deriva dalla contrazione delle parole informazione e automatica, e indica appunto il trattamento automatico delle informazioni, di tipo numerico o no, reso possibile da quelle macchine che sono i computer o calcolatori elettronici costruiti a partire dagli anni ’40.

Gli attuali computer sono praticamente tutti di tipo digitale, cioè elaborano i dati considerandoli come dei numeri costituiti da un numero finito di cifre (in inglese digit).

Tuttavia questa scelta non si è imposta con immediatezza ai progettisti dei primi calcolatori, i quali avevano di fronte anche l’alternativa analogica, se non altro perché su essa era basato il più diffuso strumento di calcolo allora esistente: il regolo calcolatore.

Le due concezioni si sono confrontate per un certo periodo, fino a che la scelta digitale è risultata vincente, relegando i calcolatori analogici in nicchie applicative assai specializzate.

Nel seguito ci interesseremo esclusivamente dei calcolatori digitali.

Page 12: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

LE BASI DEI CALCOLATORI DIGITALI

Affinché una macchina basata sull’elettricità possa compiere in modo automatico delle operazioni matematiche (ma anche di altro tipo) sono necessari evidentemente tre passaggi:

la trasformazione dei numeri (o di altri tipi di informazioni) in segnali elettrici;

la disponibilità di dispositivi in grado di eseguire su tali segnali elettrici le stesse operazioni che gli operatori matematici eseguono sui numeri;

la possibilità di eseguire istruzioni precedentemente impartite dall’uomo, ed eventualmente delle scelte fra più alternative.

Page 13: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Ebbene, a partire dagli anni ’40 queste tre esigenze sono risultate contemporaneamente soddisfatte, grazie all’esistenza di tre costruzioni logiche fondamentali sviluppate in tempi diversi e in modo indipendente l’una dall’altra. Esse sono:

il sistema di numerazione binario di Leibniz; l’algebra di Boole; la macchina di Turing.

Essenziale dal punto di vista pratico per la applicazione pratica di questi risultati, e quindi per la realizzazione del computer, è stata la realizzazione di dispositivi elettronici sufficientemente veloci, piccoli ed economici quali

• il transistore, realizzato nel 1948 da John Bardeen, Walter Houser Brattain e William Bradford Shockley ai Bell Telephone Labs (Nobel 1956);

• il circuito integrato, realizzato nel 1958 da Jack St. Clair Kilby, alla Texas Instrument (Nobel 1970);

• il microprocessore, realizzato nel 1971 da Federico Faggin alla Intel.

Page 14: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Sistemi di numerazione binari

Il sistema di numerazione binario, ideato dal filosofo tedesco Gottfried Wilhelm Leibniz [1], consente di rappresentare un qualsiasi numero usando i due soli simboli o cifre (in inglese digit) “0” e “1”, e di compiere con essi tutte le usuali operazioni aritmetiche.

[1] Leibniz espose il suo sistema in diversi scritti, tra i quali De progressione dyadica che porta la data del 15 marzo 1679, una lettera a Claudio Filippo Grimaldi del gennaio/febbraio 1697 e una al padre gesuita Joachim Bouvet del 18 maggio 1703. In quest’ultima, in particolare, Leibniz scrive:

Erano ben più di venti anni che avevo in testa questa aritmetica fondata sullo 0 e sull’1, della quale vedevo le mirabili conseguenze per condurre la scienza dei numeri a una perfezione che supera tutto quello che possediamo.

Page 15: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Leibniz’s medallion for the Duke of Brunswick

from the Postdoctoral Thesis by Johann Bernard Wiedeburg of Jena (1718)

from the Postdoctoral Thesis by Johann Bernard Wiedeburg of Jena (1718)

Page 16: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Le stesse cifre 0 e 1 consentono di codificare anche dati testuali o alfabetici e, attraverso il processo di digitalizzazione, una qualsiasi grandezza analogica, cioè variabile in maniera continua nel tempo.

Le cifre 0 e 1 - o, più in generale, i termini antitetici “vero-falso”, “sì-no” e simili - possono essere rappresentate dagli stati fisici (“acceso-spento”, “aperto-chiuso”, “conduttore-isolante”, ecc.) di dispositivi quali lampadine, interruttori e transistori, e ciò determina la grande versatilità dei calcolatori elettronici.

Page 17: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Codifica binaria pura

La rappresentazione di un numero tramite le sole cifre “0” e “1” può avvenire secondo diversi criteri; la codifica binaria pura (detta semplicemente “binaria”, senza altra specificazione) rappresenta i numeri in modo che continuino a valere le stesse regole dell’aritmetica decimale.

Negli altri tipi di notazione binaria, invece, i risultati della conversione non possono essere impiegati in operazioni aritmetiche, perché non fornirebbero i risultati corretti.

Page 18: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Il sistema binario è, come quello decimale, di tipo “posizionale”, in quanto la posizione di una cifra in un numero determina il valore o “peso” di quella cifra.

Ciò a differenza, per esempio, del sistema di numerazione degli antichi romani, che era solo parzialmente posizionale.

Per esempio, nei due numeri 300 e 3.000 la stessa cifra 3 ha un valore diverso, in quanto nel primo viene moltiplicata per 100, nel secondo per 1.000 (come si avverte anche leggendo i due numeri).

Ciò si esprime dicendo che le cifre (prima della virgola) di un numero decimale vengono moltiplicate per le successive potenze con esponente positivo del numero 10 (detto base del sistema di numerazione), che sono:

MDCCXIV

Page 19: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Invece le cifre dopo la virgola di un numero in base 10 vengono moltiplicate per le successive potenze con esponente negativo del numero 10, che sono:

Page 20: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Anche nel sistema binario le cifre di un numero vanno pensate moltiplicate per una opportuna potenza, in questo caso della base 2.

Per quanto riguarda la parte prima della virgola di un numero in base 2, tali potenze sono:

Page 21: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Per quanto riguarda la parte dopo la virgola di un numero in base 2, le successive potenze del 2 sono:

Vediamo le regole per convertire un numero dal sistema decimale a quello binario e viceversa.

Page 22: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Conversione da base 10 a base 2 (parte intera)

Per convertire la parte intera di un numero da base 10 a base 2 si può seguire il seguente algoritmo delle divisioni successive:

•si divide il numero per 2 annotando il quoziente e il resto della divisione

•si ripete l’operazione fino a ottenere per quoziente 0

•la successione dei resti ottenuti, scritti dall’ultimo al primo, fornisce la conversione desiderata.

Page 23: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Per indicare esplicitamente che un numero è scritto nel sistema di numerazione decimale, gli si aggiunge il pedice 10; se il numero è scritto nel sistema binario si aggiunge il pedice 2.

Ad esempio, la conversione in binario di 3710 si effettua secondo lo schema seguente:

Quindi3710 1001012.

Page 24: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Conversione da base 10 a base 2 (parte dopo la virgola)

 Per convertire la parte dopo la virgola di un numero da base 10 a base 2 si può seguire il seguente algoritmo delle moltiplicazioni successive:

•si moltiplica il numero per 2, annotando la prima cifra del prodotto se essa vale “1”, altrimenti annotando “0”;

•si ripete la moltiplicazione del risultato ottenuto, terminando il procedimento quando si ottiene come prodotto una potenza del 10

•la successione degli “0” e “1” ottenuti, scritti a partire dal primo, fornisce la conversione desiderata.

Page 25: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Nel caso, ad esempio, del numero 0,812510 la conversione si effettua

secondo lo schema seguente:

Quindi0,812510 0,11012.

Page 26: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Esercizio. Convertire il numero 0,310 in base 2.

Questo fatto può comportare una perdita di esattezza quando si eseguano operazioni tra numeri con la virgola che siano stati convertiti nel sistema binario.

Si ottiene:

0,310 → 0,01(0011)2

Quindi nel convertire la parte dopo la virgola di un numero da base 10 a base 2 può succedere che il numero, non periodico nel primo sistema di numerazione, diventi periodico nel secondo.

Page 27: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Conversione da base 2 a base 10

Per convertire un numero da base 2 a base 10 si segue il seguente algoritmo:

Nel caso, ad esempio, del numero 1011012 la conversione si effettuerebbe secondo lo schema seguente:

si moltiplica ogni bit del numero per il valore dalla corrispondente potenza del 2, e si sommano i valori così ottenuti.

Page 28: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Quindi1001012 3710.

Page 29: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Osserviamo che tale procedimento si applica sia alla parte intera sia a quella decimale del numero.

Quindi nel caso, ad esempio, del numero 0,11012 la conversione si effettua secondo lo schema seguente.

Page 30: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Operazioni nel sistema binario

Le operazioni sui numeri binari si eseguono secondo le regole ordinarie dell’aritmetica, con l’ulteriore semplificazione derivante dall’operare su due sole cifre.

Somma. La somma si esegue allineando i numeri sulla destra e applicando alle cifre sulla stessa verticale le regole della somma binaria riportate in tabella.

Per esprimere in modo più uniforme i 4 risultati indicati in tabella, conviene ragionare in termini di: “due addendi / un risultato e un riporto”, ossia:

Page 31: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Tuttavia, dato che in pratica si sommano numeri costituiti da più di una cifra binaria, conviene utilizzare ragionare in termini di “due addendi e un riporto / un risultato e un riporto”, ossia

Page 32: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Ad esempio, la somma di 10110 e 11111 si esegue secondo lo schema seguente:

Page 33: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Moltiplicazione. Anche la moltiplicazione tra due numeri si esegue come nel sistema decimale; in particolare:

• si applicano ai prodotti parziali delle singole cifre le regole della tabella seguente

Osserviamo che la tabella costituisce un sottoinsieme della familiare tavola pitagorica (scritta, di solito, senza la riga e la colonna dello “0”).

• quindi si sommano i prodotti parziali con le regole della somma viste in precedenza.

Page 34: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Sottrazione. La sottrazione nel sistema binario si potrebbe eseguire come nel sistema decimale ma di fatto, per evitare la situazione di dovere “prendere in prestito” una unità dalla cifra di sinistra quando una cifra del sottraendo superi quella corrispondente del minuendo, conviene eseguire la sottrazione tramite due operazioni più semplici per i circuiti binari: la complementazione e l’addizione.

Ricordiamo che nel sistema decimale il complemento a 9 di un numero è quel numero che sommato al primo dà un risultato costituito da tutte cifre 9.

Quindi il complemento di un numero di due cifre si ottiene sottraendo il numero da 99, di uno a tre cifre sottraendo il numero da 999 e così via.

Per esempio il complemento di 13 è (99 - 13) = 86.

Page 35: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

L’uso del complemento evita di eseguire una sottrazione, sostituendola con un’addizione. Infatti, per esempio nell’identità

13 – 9 = 4

si può sottrarre 99 a entrambi i membri, ottenendosi

13 – 9 – 99 = 4 – 99

e, cambiando segno a entrambi i membri,

 (99 – 13) + 9 = (99 – 4)

Dato che la parentesi a primo membro rappresenta il complemento del minuendo e quella a secondo membro il complemento del sottraendo, se ne trae la seguente regola:

Page 36: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Per eseguire una sottrazione si può:• eseguire il complemento a 9 del minuendo,• sommargli il sottraendo, • eseguire il complemento a 9 della somma ottenuta.

La stessa regola vale ovviamente anche nel sistema binario - dove anzi risulta di applicazione ancora più semplice - sostituendo il complemento a 9 con il complemento a 1.

11012 +00102 =-----11112

Complemento a 1. Si definisce complemento a 1 di un numero quel numero che sommato al primo dà un risultato costituito da tutte cifre 1. Ad esempio il complemento a 1 di

11012

è00102

dato che

Page 37: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Applichiamo allora la regola precedente alla sottrazione 13 – 9:

Tuttavia, nel sistema decimale si considera anche il complemento a 10 di un numero, definito come quel numero che sommato al primo dà tutte cifre 0 (trascurando la cifra di riporto più a sinistra).

Si vede che:

il complemento a 1 di un numero si ottienecambiando i suoi 0 in 1 e viceversa.

Page 38: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Ad esempio, il complemento a 2 di

1101è

0011dato che 1101 + 0011 = ------ 1 0000

Si vede che:

il complemento a 2 di un numero si ottiene sommando 1 al complemento a 1 del numero.

Complemento a 2. Allo stesso modo, nel sistema binario si considera il complemento a 2 di un numero, definito come quel numero che sommato al primo dà un risultato costituito da tutte cifre 0 (trascurando il bit di riporto più a sinistra).

Page 39: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Applichiamo questa regola alla solita sottrazione 13 – 9

Usando il complemento a 2, la sottrazione si può eseguire con la seguente regola:

Per eseguire una sottrazione si può:• sommare al minuendo il complemento a 2 del sottraendo• sopprimere la cifra più a sinistra della somma ottenuta.

Page 40: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Sistema esadecimale

Molto usato in informatica è il sistema di numerazione esadecimale, che impiega i 16 simboli

0 1 2 3 4 5 6 7 8 9 A B C D E F

Pertanto anche le “lettere” A-F vanno considerate cifre, di valori rispettivamente:

A=10 B=11 C=12 D=13 E=14 F=15

Anche il sistema esadecimale è di tipo posizionale, in quanto le cifre di un numero vanno pensate moltiplicate per una opportuna potenza, in questo caso della base 16.

Per quanto riguarda la parte prima della virgola di un numero esadecimale (la sola di effettivo utilizzo) tali potenze sono:

Page 41: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Nel linguaggio C i numeri esadecimali iniziano con le cifre 0x. Così, ad esempio, vale la conversione

0x2A7F 10.87910

Page 42: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

in quanto

Questo è pertanto il metodo per convertire un numero da base 16 a base 10.

Page 43: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Conversione da base 16 a base 2.

3710 0010 01012 0x25

Per convertire un numero esadecimale in binario

si convertono successivamente, le sue cifre tramite gruppi di 4 bit, secondo la corrispondenza della tabella a fianco.

Lo stesso criterio vale ovviamente per il passaggio inverso binario > esadecimale, con l’avvertenza di iniziare la sostituzione partendo dal gruppo di 4 bit meno significativi (quelli più a destra).

Conversione da base 10 a base 16. Per questa conversione conviene passare attraverso la base 2. Quindi, ad esempio:

Page 44: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Codifica BCD

Un altro tipo di codifica binaria è costituito dalla notazione BCD (da Binary Coded Decimal, decimale codificato in binario), nella quale ogni cifra di un numero decimale viene rappresentata tramite le quattro cifre della sua codifica in binario puro.

Ad esempio, il numero 2310 viene rappresentato in BCD come

0010 0011

dato che questi due gruppi di 4 cifre sono gli equivalenti binari rispettivamente dei numeri 2 e 3.

Questo tipo di codifica non consente di eseguire le operazioni aritmetiche applicando le solite regole, e presenta quindi un interesse minore rispetto alla codifica in binario puro.

Page 45: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

CODICI BINARI ALFANUMERICI

Come abbiamo detto, l’uso delle cifre “0” e “1” permette di codificare anche dati testuali o alfabetici[1].

[1] Il primo esempio di codifica binaria delle lettere dell’alfabeto si deve a Francis Bacon, il quale escogitò il codice omnia per omnia al fine di cifrare i suoi messaggi diplomatici segreti. Il suo codice sostituiva a ogni lettera dell’alfabeto un gruppo di cinque lettere costituito da varie combinazioni della a e della b. Ulteriori elaborazioni erano poi eseguite per garantire la segretezza della comunicazione.

Page 46: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Naturalmente questi comprendono come loro sottoinsieme anche i dati numerici (e allora si parla, più propriamente, di caratteri alfanumerici), ma quando si parla di dati alfabetici, si esclude implicitamente che su di essi si possano eseguire le operazioni aritmetiche.

Per esempio un numero quale un codice di avviamento postale, sul quale non si dovranno eseguire né addizioni né sottrazioni, può essere codificato convenientemente in forma testuale o alfanumerica, considerando le sue cifre alla stregua degli altri simboli presenti su una tastiera.

A differenza della codifica dei dati numerici, quella dei dati alfanumerici è puramente convenzionale, nel senso che non c’è alcuna ragione particolare per attribuire a una lettera una certa successione di “0” e “1” piuttosto che un’altra. Le due codifiche più diffuse sono i codici ASCII ed EBCDIC.

Page 47: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Codifica ASCII. Il codice ASCII (da American Standard Code for Information Interchange, Codice standard americano per lo scambio di informazioni) è impiegato in quasi tutti i personal computer e in buona parte dei sistemi di elaborazione medio-grandi.

Usa una codifica a 7 bit per codificare 128 simboli standard, mentre un ottavo bit può essere impiegato per codificare in modo non standard lettere di particolari alfabeti, caratteri semigrafici o simboli speciali, oppure per aggiungere un controllo di parità.

Page 48: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale
Page 49: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

I primi 32 caratteri del codice corrispondono a codici di controllo, cioè non codificano i tasti presenti su una tastiera, ma determinano particolari operazioni quando sono ricevuti da una periferica.

Nel codice ASCII i caratteri minuscoli vengono dopo quelli maiuscoli, e sono “sfasati” rispetto a essi di 32 caratteri; ciò consente di trasformare un carattere minuscolo in maiuscolo sottraendo 32 al numero che lo codifica.

Per esempio, il numero 1234 avrebbe nel codice ASCII la codifica seguente.

Page 50: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale
Page 51: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Codifica EBCDIC. Il codice EBCDIC (da Extended Binary Coded Decimal Interchange Code, Codice di scambio decimale codificato in binario esteso) è un codice a 8 bit impiegato in prevalenza dai mainframe IBM.

In esso non tutte le 256 posizioni sono occupate, la collocazione delle lettere dell’alfabeto è discontinua e alcuni caratteri del codice ASCII sono assenti (ma vale anche il viceversa).

Pertanto non vi è una corrispondenza tra i due codici, cosicché nel collegare personal computer a mainframe IBM si devono utilizzare dispositivi di traduzione specifici.

Page 52: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Dec Hex Code Dec Hex Code Dec Hex Code Dec Hex Code 0 00 NUL 32 20 64 40 space 96 60 -

1 01 SOH 33 21 65 41 97 61 /

2 02 STX 34 22 66 42 98 62 3 03 ETX 35 23 67 43 99 63 4 04 36 24 68 44 100 64 5 05 HT 37 25 LF 69 45 101 65 6 06 38 26 ETB 70 46 102 66 7 07 DEL 39 27 ESC 71 47 103 67 8 08 40 28 72 48 104 68 9 09 41 29 73 49 105 69

10 0A 42 2A 74 4A [ 106 6A |

11 0B VT 43 2B 75 4B . 107 6B ,

12 0C FF 44 2C 76 4C < 108 6C %

13 0D CR 45 2D ENQ 77 4D ( 109 6D _ 14 0E SO 46 2E ACK 78 4E + 110 6E > 15 0F SI 47 2F BEL 79 4F | ! 111 6F ? 16 10 DLE 48 30 80 50 & 112 70 17 11 49 31 81 51 113 71 18 12 50 32 SYN 82 52 114 72 19 13 51 33 83 53 115 73 20 14 52 34 84 54 116 74 21 15 53 35 85 55 117 75 22 16 BS 54 36 86 56 118 76 23 17 55 37 EOT 87 57 119 77 24 18 CAN 56 38 88 58 120 78 25 19 EM 57 39 89 59 121 79 ‘

26 1A 58 3A 90 5A ! ] 122 7A :

27 1B 59 3B 91 5B $ 123 7B #

28 1C IFS 60 3C 92 5C * 124 7C @

29 1D IGS 61 3D NAK 93 5D ) 125 7D ‘ 30 1E IRS 62 3E 94 5E ; 126 7E =

31 1F IUS 63 3F SUB 95 5F ^ 127 7F "

Page 53: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Dec Hex Code Dec Hex Code Dec Hex Code Dec Hex Code 128 80 160 A0 192 C0 { 224 E0 \

129 81 a 161 A1 ~ 193 C1 A 225 E1

130 82 b 162 A2 s 194 C2 B 226 E2 S 131 83 c 163 A3 t 195 C3 C 227 E3 T 132 84 d 164 A4 u 196 C4 D 228 E4 U 133 85 e 165 A5 v 197 C5 E 229 E5 V 134 86 f 166 A6 w 198 C6 F 230 E6 W 135 87 g 167 A7 x 199 C7 G 231 E7 X 136 88 h 168 A8 y 200 C8 H 232 E8 Y 137 89 i 169 A9 z 201 C9 I 233 E9 Z 138 8A 170 AA 202 CA 234 EA

139 8B 171 AB 203 CB 235 EB

140 8C 172 AC 204 CC 236 EC

141 8D 173 AD 205 CD 237 ED

142 8E 174 AE 206 CE 238 EE

143 8F 175 AF 207 CF 239 EF

144 90 176 B0 208 D0 } 240 F0 0

145 91 j 177 B1 209 D1 J 241 F1 1

146 92 k 178 B2 210 D2 K 242 F2 2

147 93 l 179 B3 211 D3 L 243 F3 3

148 94 m 180 B4 212 D4 M 244 F4 4

149 95 n 181 B5 213 D5 N 245 F5 5

150 96 o 182 B6 214 D6 O 246 F6 6

151 97 p 183 B7 215 D7 P 247 F7 7

152 98 q 184 B8 216 D8 Q 248 F8 8

153 99 r 185 B9 217 D9 R 249 F9 9

154 9A 186 BA 218 DA 250 FA

155 9B 187 BB 219 DB 251 FB

156 9C 188 BC 220 DC 252 FC

157 9D 189 BD 221 DD 253 FD

158 9E 190 BE 222 DE 254 FE

Page 54: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Codici rilevatori di errori

Quando si trasmettono caratteri codificati mediante stringhe di “0” e “1” attraverso una rete dati, può succedere che uno degli “0” o degli “1” venga modificato da disturbi di trasmissione, trasformandosi nel bit opposto: uno “0” in un “1” o viceversa.

È allora utile che il sistema di comunicazione sia in grado di rilevare quando un bit della stringa è stato modificato, in modo da segnalare la necessità di ripetere la trasmissione.

Per potere rilevare un cambiamento di un singolo bit, è necessario che nel codice adottato non ci siano due caratteri la cui rappresentazione differisca di un solo bit.

Se così non fosse, infatti, il risultato sarebbe la codifica dell’altro carattere e non sarebbe possibile rilevare l’errore avvenuto.

Se per esempio si inviassero i bit della codifica ASCII del carattere “A”

Page 55: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

A 1 0 0 0 0 0 1

e si verificasse un cambiamento nella sesta posizione da sinistra, verrebbe inviato il codice del carattere “C”

C 1 0 0 0 0 1 1

e non vi sarebbe modo di accorgersi che si è verificato un errore.

Una possibilità per trasformare il codice ASCII in modo che non vi siano codici che differiscano in una sola posizione consiste nel fare seguire ai 7 bit che codificano un carattere un ottavo bit detto di parità.

Page 56: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Esso viene scelto in modo che il numero totale dei bit “1” di qualsiasi codice sia pari o, come anche si dice, che ogni gruppo di 8 bit abbia parità pari (naturalmente si potrebbe anche scegliere l’ottavo bit in modo che il gruppo abbia una parità dispari).

Dato che due sequenze di bit che abbiano entrambe parità pari non possono differire per un solo bit (ma almeno per due), ne concludiamo che l’aggiunta di un bit di parità fornisce un codice rilevatore di errori per la codifica dei caratteri.

Se, infatti, nell’esempio precedente aggiungiamo il bit di parità ai codici ASCII delle lettere “A” e “C”, otteniamo rispettivamente le stringhe

Page 57: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

A 1 0 0 0 0 0 1 0

C 1 0 0 0 0 1 1 1

che, come è evidenziato, differiscono in due posizioni (la sesta e l’ottava da sinistra).

Osserviamo che utilizzando n bit si possono costruire 2n sequenze diverse, e quindi codificare 2n caratteri; se tuttavia si aggiunge un bit di parità, il numero di caratteri codificabili si dimezza, a parità di numero di bit impiegati.

Page 58: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Codifica delle grandezze fisiche

Oltre ai dati numerici o testuali, un computer può ovviamente elaborare anche grandezze fisiche quali una temperatura o una pressione.

Per esempio un computer potrebbe essere collegato costantemente con una termocoppia che gli invia una tensione elettrica proporzionale alla differenza di temperatura tra due punti, in maniera da eseguire determinate operazioni a seconda dei valori di temperatura rilevati.

La prima operazione che si deve compiere perché un sistema informatico possa memorizzare, elaborare e trasmettere i dati relativi a una grandezza fisica, è quella di trasformarla in una forma adatta a essere trattata dal sistema stesso.

Date le caratteristiche degli attuali calcolatori elettronici, tale forma è quella cosiddetta digitale binaria, nella quale cioè i dati vengono dapprima trasformati in una serie di numeri (ingl. digit), che successivamente vengono espressi secondo il sistema di numerazione binario (forma binaria).

Page 59: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Una volta che i dati siano stati così codificati in una opportuna successione di “0” e “1”, essi potranno essere trattati direttamente dai circuiti elettronici del computer.

Naturalmente, dopo il trattamento essi subiranno la trasformazione inversa, riassumendo la forma originaria o comunque una comprensibile agli utenti del sistema.

Page 60: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Digitalizzazione di una forma d’onda analogica. Vediamo su un esempio schematico come sia possibile codificare un segnale analogico, cioè variabile nel tempo in modo continuo, in un segnale digitale, cioè costituito da una serie di numeri (interi), che successivamente sono convertiti in forma digitale.

Consideriamo il diagramma seguente, che potrebbe essere per esempio il grafico di un segnale audio analogico o di un’onda di pressione acustica.

Page 61: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Per trasformarlo in una serie di numeri si considera un certo numero di punti sull’asse x e sull’asse y.

Quindi si segnano sulla curva i punti in cui essa interseca le ordinate alzate dai punti considerati sull’asse x (procedimento detto di campionamento), e si legge sull’asse y l’ordinata dei punti della curva, assegnando a ciascuno di essi il valore più vicino tra i valori discreti considerati sull’asse y (procedimento detto di quantizzazione).

Page 62: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

In pratica ciò equivale a sostituire una curva continua con una spezzata, per cui si vede che quanto più ravvicinati sono i punti considerati sui due assi, tanto meglio la spezzata approssima la curva.

In particolare, se l’asse y è stato suddiviso in 2 intervalli si parla di quantizzazione a 1 bit, se è stato suddiviso in 4 intervalli si parla di quantizzazione a 2 bit, in 8 intervalli a 3 bit e così via.

Digitalizzazione di una immagine. Vediamo come sia possibile digitalizzare una immagine, iniziando dal caso più semplice che essa sia in bianco/nero.

Page 63: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

1. Immaginiamo di sovrapporre alla immagine da digitalizzare una griglia a maglie quadrate (in questo caso di 34 righe e 32 colonne).

Page 64: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

2. In ogni quadratino della griglia scriviamo “0” se esso è riempito per meno della metà, “1” se è riempito per metà o più.

Page 65: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

3. Abbiamo così ottenuto 34 numeri binari da 32 bit ciascuno, che permettono di ricostruire l’immagine di partenza riga per riga (ovviamente al crescere del numero dei quadratini della griglia cresce la definizione della digitalizzazione).

I singoli elementi che costituiscono l’immagine digitalizzata si chiamano pixel (da picture element), e nel caso di immagini in bianco/nero valgono 0 o 1.

Se l’immagine da digitalizzare è a colori, a ogni suo pixel si associa un valore variabile in un intervallo più ampio, che ne codifica il colore (prevalente). Per codificare 8 colori servono 3 bit, per 16 colori 4 bit e così via.

In pratica, a ciascun colore si associa un numero esadecimale di 6 cifre del formato #RRGGBB, dove RR rappresenta la quantità del colore fondamentale rosso (Red), GG la quantità di verde (Green), BB la quantità di blu (Blue) presenti in quel colore.

Sono possibili in tal modo 2563 = 16.777.216 sfumature diverse di colori.

Page 66: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

La figura seguente mostra i nomi dei 16 colori standard e i loro codici esadecimali.

Page 67: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

Vantaggi della digitalizzazione. La digitalizzazione di una grandezza analogica comporta diversi vantaggi, qui di seguito illustrati:

possibilità di compressione. Una volta digitalizzati, i testi, i segnali audio e le immagini video e possono venire “compressi”, cioè occupare uno spazio anche molte volte inferiore a quello originario, senza perdita apprezzabile di informazione. La forma compressa è particolarmente adatta per trasmettere velocemente o per memorizzare in spazi ridotti le informazioni, che quando serve vengono “decompresse” in modo assai facile;

integrazione di media diversi. Il fatto di trattare informazioni di natura diversa – quali testi e disegni, brani audio, immagini video – nella stessa forma digitale consente la loro integrazione in prodotti “multimediali” e “interattivi”, dei quali l’esempio forse più conosciuto è costituito dalle diffuse “Enciclopedie multimediali”;

Page 68: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

· possibilità di manipolazione. Sulle informazioni di tipo digitale sono possibili diversi tipi di manipolazioni, quali per esempio la formattazione automatica di un testo secondo una varietà di parametri (tipo e grandezza del carattere, lunghezza e spaziatura delle righe, giustificazione del margine, divisione in sillabe, ecc.), l’eliminazione di un rumore di fondo in un brano audio, la trasformazione di un colore in una immagine, la generazione automatica di immagini (effetti speciali, attori virtuali nei film);

· qualità della riproduzione. Se si duplica ripetutamente una registrazione audio, una videocassetta o una immagine tramite fotocopia, la qualità del duplicato peggiora progressivamente a ogni copia successiva. Invece la duplicazione digitale conferisce al duplicato la stessa qualità dell’originale, consentendo una riproducibilità all’infinito;

· crittazione sicura. Le informazioni digitali si possono cifrare in maniera estremamente difficile da decifrare, e quindi si possono trasmettere con elevati margini di sicurezza.

Page 69: FONDAMENTI DI INFORMATICA I A.A. 2006-2007 - prof. Angelo GALLIPPI angelo.gallippi@uniroma2.it Data inizio: 5 marzo 2007 Data fine: 25 giugno 2007 Totale

•utilizzo più efficiente della larghezza di banda. La trasmissione di segnali radiofonici e televisivi in forma digitale richiede una disponibilità di frequenze inferiore di 4-5 volte rispetto a un'analoga trasmissione in tecnica analogica, e costituisce uno dei rincipali vantaggi della prossima televisione digitale terrestre. Quest'ultima richiede anche una potenza di emissione minore - a parità d copertura - della televisione analogica.