1 / 31

Informatica Generale

Informatica Generale. Marzia Buscemi IMT Lucca email: buscemi@di.unipi.it Ricevimento: Giovedì ore 16.00-18.00 presso Dipartimento di Informatica, Largo Pontecorvo, 3 stanza 306 PS (lab. Global Computing) Tel. 050.2213102 o per posta elettronica Pagina web del corso:

drake
Download Presentation

Informatica Generale

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Informatica Generale Marzia Buscemi IMT Lucca email: buscemi@di.unipi.it Ricevimento: Giovedì ore 16.00-18.00 presso Dipartimento di Informatica, Largo Pontecorvo, 3 stanza 306 PS (lab. Global Computing) Tel. 050.2213102 o per posta elettronica Pagina web del corso: http://www.di.unipi.it/~buscemi/IG07.htm

  2. Di cosa abbiamo parlato finora • L’architettura di Von Neumann Sottosistema di Interfaccia Processore (CPU) Memoria (RAM,dischi, etc) Mantiene Dati e Programmi E’ un esecutore capace di interpretare i singoli passi richiesti dai programmi (istruzioni elementari) Permette di comunicare dati e programmi alla macchina e di ottenere i risultati (tastiera, microf. stampante, schermo, etc)

  3. Hardware - SoftwareStruttura di un calcolatore Hardware • hw e sw Sottosistema di Interfaccia Processore Memoria bus Mantiene Dati e Programmi Software

  4. Algoritmi e programmi Elaborazione Dati di uscita Dati di ingresso Trasformazione dei dati di ingresso e esecuzione passi specificati da un opportuno algoritmo Codificati opportunamente Ovvero la descrizione dell’algoritmo secondo un linguaggio comprensibile al calcolatore Calcolatore (che conosce alcune azioni elementari: es confrontare due numeri, eseguire semplici operazioni aritmetiche Umano (che conosce l’algoritmo) programma

  5. Codifica e Rappresentazione dell’informazione Cosa vedremo : Rappresentazione binaria Codifica dei numeri Codifica dei caratteri Codifica delle immagini Compressione dei dati Codifica dei suoni

  6. Perché è necessario codificare le informazioni? • Tutta l’informazione interna ad un calcolatore (digitale) deve essere codificata in forma numerica. • La rappresentazione usata dai calcolatori è binaria, cioè fatta di sequenze di due soli numeri: 0 e 1 • è facile realizzare dispositivi elettronici che distinguere fra due stati, molto meno se gli stati sono tanti • L’unità elementare di informazione si chiama bitda‘binarydigit’

  7. Rappresentazione binaria (2) • byte : la sequenza di 8 bit • word (parola) : 2 o 4 byte (dipende dalla macchina) unità minima che può essere fisicamente letta o scritta nella memoria

  8. Rappresentazione binaria (2) • Vedremo prima come rappresentare (codificare) i numeri decimale come sequenze di 0 e 1 • E poi discuteremo la rappresentazione di insiemi di oggetti finiti (caratteri, testi, immagini, suoni)

  9. Notazione posizionale in base 10 • Un numero (es. 5) può essere rappresentato in molti modi: • cinque, five, 5, V, • Rappresentazioni diverse hanno proprietà diverse • moltiplicare due numeri in notazione romana è molto più difficile che moltiplicare due numeri in notazione decimale… • Noi siamo abituati a lavorare con numeri rappresentati in notazione posizionale in base 10

  10. Notazione posizionale in base 10 (2) • La rappresentazione di un numero intero in base 10 è una sequenza di cifre scelte fra 0 1 2 3 4 5 6 7 8 9 • es: 23, 118, 4 • Il valore di una rappresentazione cN-1…c0 è dato da cN-1 *10N-1 + cN-2 *10N-2 ….+ c1 *101 + c0 *100 esempi : ... 23= 118 = ...

  11. Notazione posizionale in base 10 (3) Vediamo alcune proprietà di questa notazione : • Il massimo numero rappresentabile con N cifre è 99….9 (N volte 9, la cifra che vale di più), pari a 10N-1 • es: su tre cifre il massimo numero rappresentabile è 999 pari a 103-1 =1000-1

  12. Notazione posizionale in base 10 (4) • Quindi se voglio rappresentare K diversi numeri (cioè 0 1 2 …K-1) mi servono almeno x cifre dove 10x è la più piccola potenza di 10 che supera K • es : se voglio 25 numeri diversi mi servono almeno 2 cifre perché 102=100 è la più piccola potenza di 10 maggiore di 25 es : se voglio 110 numeri?

  13. Notazione posizionale in base 2 • La rappresentazione di un numero intero in base 2 è una sequenza di cifre scelte fra 0 1: • es: 10, 110, 1 • Il valore di una rappresentazione cN…c0 è dato da: cN-1 *2N-1 + cN-2 *2N-2 ….+ c1 *21 + c0 *20 esempi : • 10 = 1*21 + 0 *20 = 2 • 110 = 1*22 + 1*21 + 0 *20 = 4 + 2 + 0 = 6 • 1 = 1 *20 = 1 1001 = ?

  14. Notazione posizionale in base 2(2) Per la base due valgono proprietà analoghe a quelle viste per la base 10 : • Il massimo numero rappresentabile con N cifre è 11….1 (N volte 1, la cifra che vale di più), pari a 2N-1 • es: su tre cifre il massimo numero rappresentabile è?

  15. Notazione posizionale in base 2(3) Per la base 2 valgono proprietà analoghe a quelle viste per la base 10 (cont.): • Quindi se voglio rappresentare K diversi numeri (cioè 0 1 2 …K-1) mi servono almeno almeno x cifre dove 2x è la più piccola potenza di 2 che supera K • es : se voglio 25 numeri diversi mi servono almeno 5 cifre perché 25=32 è la più piccola potenza di 2 maggiore di 25

  16. Notazione posizionale in base 2(4) • Somma binaria (somma mod 2): 0100 + 0110 = 1010 Qual è la somma di 01 e 111?

  17. Dato un numero X si cerca la sua rappresentazione in base 2 cN-1…c0 Conversione per divisione : si divide ripetutamente X per 2 il resto ottenuto nella divisione i-esima è la i-esima cifra (ci) della rappresentazione binaria Conversione da base 10 a base 2

  18. Come si converte X nella sua rappresentazione in base 2 cN…c0 usando il metodo della divisione Es : convertiamo il numero 13 13 / 2 da quoziente 6 e resto 1 (c0) 6 / 2 da quoziente 3 e resto 0 (c1) 3 / 2 da quoziente 1 e resto 1 (c2) 1 / 2 da quoziente 0 e resto 1 (c3) La rappresentazione di 13 è 1101 Qual è la rappr. di 10? E di 26? Conversione da base 10 a base 2 (2)

  19. Conversione da base 10 a base 2 (3) Nella conversione da base 10 a base 2 l’adozione della notazione posizionale permette di definire: • MSB (most significant bit): il bit più a sinistra della rappresentazione • LSB (least significant bit): il bit più a destra

  20. Multipli delle unità fondamentali

  21. Rappresentazione di un insieme finito di oggetti • Vogliamo rappresentare i giorni della settimana : {Lu, Ma, Me, Gio, Ve, Sa, Do} usando sequenze 0 e 1 • Questo significa costruire un ‘codice’, cioè una tabella di corrispondenza che ad ogni giorno associa una opportuna sequenza • In principio possiamo scegliere in modo del tutto arbitrario….

  22. Rappresentazione di un insieme finito di oggetti (3) • Una possibile codifica binaria per i giorni della settimana • Di solito si usa un numero di bit uguale per tutti: il minimo indispensabile • Di solito si usa un numero di bit uguale per tutti : il minimo indispensabile

  23. Rappresentazione di un insieme finito di oggetti (4) • Per rappresentare 7 oggetti diversi servono almeno 3 bit (minima potenza di due che supera 7 è 8= 23) quindi : 000 Lunedì 110 Domenica 001 Martedì 111 non ammesso 010 Mercoledì 011 Giovedì 100 Venerdì 101 Sabato

  24. Rappresentazione di caratteri e stringhe • I caratteri sono un insieme finito di oggetti e seguono la strategia vista per i giorni della settimana • Perché due diversi calcolatori si possano parlare correttamente è necessario che usino lo stesso codice

  25. Rappresentazione di caratteri e stringhe (2) • Codifiche di uso comune : • il codice ASCII (American Standard code For Information Interchange) su 7 (128=27) o 8 bit (256=28) • il codice UNICODE su 16 bit (più recente, permette di rappresentare anche alfabeti diversi e simboli per la scrittura di lingua orientali) • Le stringhe sono generalmente sequenze di caratteri terminate in modo particolare

  26. Rappresentazione di immagini • Le immagini sono un ‘continuo’ e non sono formate da sequenze di oggetti ben finiti come i numeri e i testi • Bisogna quindi prima ‘discretizzarle’ ovvero trasformarle in un insieme di parti distinte che possono essere codificate separatamente con sequenze di bit • Bisogna definire il termine informale di “elemento d’informazione”

  27. Rappresentazione di immagini (2) • Immagini ‘bitmap’ : 1. l’immagine viene scomposta in una griglia di elementi detti pixel (da picture element) 000000000000000000000000 000000000011111111000000 000000000010000010000000 000000000010000100000000 000000000010001000000000 000000000010010000000000 000000000010100000000000 000000000011000000000000 000000000010000000000000 immagine codifica

  28. Rappresentazione di immagini (3) • Immagini ‘bitmap’ : 2. Ogni pixel è rappresentato da uno o più bit 000000000000000000000000 000000000011111111000000 000000000010000010000000 000000000010000100000000 000000000010001000000000 000000000010010000000000 000000000010100000000000 000000000011000000000000 000000000010000000000000 Rappresentazione di un pixel

  29. Rappresentazione di immagini (4) • Rappresentazioni dei pixel : • la rappresentazione in ‘toni di grigio’ : un byte per pixel, con 256 gradazioni di grigio per ogni punto (immagini bianco e nero), o più byte per pixel, per avere più gradazioni possibili • rappresentazione a colori RGB (red, green,blu) : comunemente 3 byte per pixel che definiscono l’intensità di ciascun colore base. In questo modo ho circa 16 milioni di colori diversi definibili

  30. Rappresentazione di immagini (5) • Problema : • la rappresentazione accurata di una immagine dipende • dal numero di pixel (definizione) • dalla codifica del pixel • molta memoria, ad esempio : tipo imm. Defin. numero colori num.byte televisiva 720x625 256 440 KB SVGA 1024x768 65536 1.5MB foto 15000x10000 16milioni 430 MB

  31. Rappresentazione di immagini (6) • Quindi si cerca di ‘risparmiare’ memoria : • con l’uso di una ‘tavolozza’ (palette) che contiene il sottoinsieme dei colori rappresentabili che compare in una foto • ogni pixel codifica un indice all’interno della tavolozza • con tecniche di compressione che non codificano ogni pixel in modo autonomo ma cercano di raggruppare le aree che hanno caratteristiche comuni • Formati più usati : TIFF (tagged image file format), GIF (graphics interchange format), JPEG (Joint photographers expert group)

More Related