APPUNTI FONDAMENTI DI INFORMATICA - LEZIONE DEL 13/03/2014 L'informazione è un insieme di simboli che trasportano un messaggio. È caratterizzata da due aspetti: La sintassi è l'insieme di regole e simboli necessari per rappresentare l'informazione e come essa si trasforma. Esistono trasformazioni lecite (ad esempio una lettera che da maiuscola diventa minuscola, o il cambio di alfabeto), e trasformazioni non lecite. La sintassi è soggettiva. La semantica è ciò che ognuno associa all'informazione. È quindi un aspetto soggettivo e coinvolge la persona che trasmette il messaggio e la persona che lo riceve. Analizzare un'informazione significa scomporre il problema complesso in cose semplici, in modo da poter affrontare i sottoproblemi uno per volta. Man mano che si scompone un problema, però, il collegamento tra l'informazione di partenza e i sottoproblemi diventa sempre più blando. Ad esempio, per scomporre la Divina Commedia potremmo ritrovarci ad affrontare una terzina per volta, leggere una parola per volta o addirittura lettera per lettera. Possiamo notare da questo esempio come il collegamento tra le lettere che compongono l'opera e l'opera stessa è molto blando. Un'informazione è quindi composta da: Simboli, come le lettere che compongono una parola; Messaggio, ovvero ciò che si vuole trasmettere; Trasformazione, basti pensare che mentre si parla, chi parla trasforma le lettere in vibrazioni e chi ascolta trasforma le vibrazioni in lettere; Associazione, l'insieme di lettere associate in maniera diversa possono generare messaggi diversi; Contesto, la situazione in cui viene mandato un messaggio. È possibile quantificare un'informazione in relazione al numero di simboli utilizzati per crearla. Naturalmente, più corto è l'alfabeto utilizzato (cioè il numero di simboli disponibili), più lunghe saranno le parole, e viceversa più lungo è l'alfabeto utilizzato e più corte saranno le parole (un solo ideogramma egizio basta per descrivere una situazione o un avvenimento, ma l'alfabeto egizio è composto da migliaia di ideogrammi). Il minimo numero di simboli in un alfabeto è due. Lo spazio vuoto non è da considerarsi un simbolo, ma una mancanza di variazione. Ad esempio, se prendiamo un alfabeto composto dalle sole A e B, una possibile stringa sarebbe "AABBBAABAB". L'entropia, come in fisica, è una misura del disordine. Più è alta, più numerose sono le informazioni, ma è anche più difficile capire l'informazione che ci interessa. Più è bassa, più c'è "silenzio" e si trasmette un messaggio con poca energia. L'elemento fondamentale dell'informazione è il bit. È un elemento atomico, in altre parole non esiste mezzo bit. Un messaggio del tipo "000000000000" è a bassa probabilità statistica, mentre un messaggio del tipo "00101110101010" è ad alta probabilità statistica. Comprimere un'informazione vuol dire massimizzare l'entropia di un messaggio, e cioè si eliminano le ripetizioni dei bit attraverso delle formule matematiche. Più il messaggio è complicato e diverso, meno si comprime. RAPPRESENTAZIONE DEI TIPI DI DATO E DI INFORMAZIONE. Il sistema binario (0 e 1) è stato scelto perchè è quantificabile e perchè minimizza le probabilità di commettere errori. Infatti più è alto il numero di simboli in un linguaggio e più è alta la probabilità che possano verificarsi delle incomprensioni. Ogni cosa può essere rappresentata dai bit: immagini, suoni, testi, numeri; i cosiddetti media, cioè i mezzi di trasporto delle informazioni. Se l'informazione viaggia attraverso più canali (uditivo, visivo, tattile) può essere compresa meglio, ma occorre che tutti i canali siano in sinergia, cioè trasmettano lo stesso messaggio. I messaggi si rappresentano tramite numeri, e i numeri possono trasformarsi in bit. Ad esempio, quando si alza il volume dello stereo, l'operazione che viene fatta è quella di moltiplicare i bit per un certo valore. RAPPRESENTAZIONE IN BASE P Il sistema decimale è un sistema posizionale, cioè ogni numero ha un certo peso in base alla posizione in cui si trova. 123=1 x 10^2 +2 x 10^1 +3 x 10^0 In generale vale la formula: Per effettuare un cambio di base, da base superiore a una inferiore, si usa il metodo delle divisioni successive. Ad esempio: Il numero 25 in base 10, equivale 11001 in base 2 a1 25 12 6 3 1 0 1 0 0 1 1 Si prende il numero, lo si divide sempre per 2 e si scrive ogni volta il resto a lato. Il numero in base 2 sarà poi l'insieme dei resti in successione dal basso verso l'alto. 1 Per effettuare un cambio di base, da base inferiore a base superiore, si usa il concetto stesso di "sistema posizionale". Ad esempio: 11001 = 1*2^0 + 0*2^1 + 0*2^2 + 1*2^3 + 1*2^4 = 1+0+0+8+16=25 8 bit equivalgono a 1 byte. La scelta del byte deriva questioni di semplicità. Ad esempio, i nostri occhi hanno una capacità visiva di 1 byte, le nostre orecchie una capacità uditiva di 2 byte. Tabella di conversione Decimale 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 - 15 Binario 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Esadecimale 0 1 2 3 4 5 6 7 8 9 A B C D E F Le operazioni di tipo logico e aritmetico sono indispensabili per poter elaborare e trasformare le informazioni e i dati. La somma di due numeri positivi in base p si esegue incolonnando i numeri e calcolando la somma di coppie di cifre dello stesso posto. Esempio: Riporto 1 1 1 1 1 1 1 1 0 0 1 1 1 1 0 1 + = Carry Per l’applicazione nei calcolatori hanno importanza le basi 2, 8 e 16 che corrispondono rispettivamente ai sistemi di numerazione binario, ottale e esadecimale. Binario: ha base p =2 e le cifre dell’alfabeto sono 0 e 1. Ottale: ha base p=8 e le cifre dell’alfabeto sono 0, 1, 2, 3, 4, 5, 6 e 7. Esadecimale: ha base p=16 e le cifre dell’alfabeto sono 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Il numero 01AF corrisponde, per esempio, ad: (1 x 162) + (10x16) + (15x1) = 431. I numeri interi includono, oltre allo 0 e ai numeri positivi, anche quelli negativi. Pertanto si considera il tipo di codifica “Rappresentazione in complemento a 2”come metodo semplificativo. Per esempio, la rappresentazione in complemento a 2 del numero -1 in tre bit si ottiene sottraendo 3 da 23 e convertendo in binario il risultato (7=111). = (23 – N10)2 Dove “N” rappresenta il numero negativo in questione. Esistono inoltre i numeri razionali che, allo scopo di essere rappresentati in un calcolatore, presentano una parte intera ed una frazionaria approssimando i numeri reali con una precisione arbitraria. Si distinguono, pertanto, due tipologie di rappresentazione: Rappresentazione in virgola fissa Un numero FISSO di cifre rientra nella parte intera ed un numero FISSO di cifre rientra in quella frazionaria. Rappresentazione in virgola mobile (Floating point) Si utilizza la notazione scientifica per la codifica dei numeri reali e, non esistendo un unico standard, si considerano le possibili convenzioni. Ad ogni numero reale si associano due numeri: m definito “mantissa”, definito nell’intervallo (0,1) e interpretato come numero frazionario a cui viene affiancato un bit che consente di rappresentarne il segno; n definito “caratteristica”, definito come un numero intero con segno ed utilizzato come esponente. Formula generale:r = mx bn Dove “b” è un numero intero che indica la base utilizzata nella notazione esponenziale. Esempio: -0,3316875 X 103 Mantissa Un numero in virgola mobile si dice NORMALIZZATO quando la prima cifra dopo la virgola è risulta diversa da 0 (zero) e in tal caso si parla di “cifre di precisione”. Numero normalizzato “ 3316875”. II PARTE I caratteri che costituiscono un testo vengono convertiti e codificati in sequenze di bit, utilizzando alcuni codici di traduzione”, come quello ASCII in cui i caratteri, che vanno da 0 a 255, vengono convertiti in numeri a loro volta associati a determinate lettere. TABELLA ASCII DEC ... ... 48 49 50 51 52 ... 65 66 67 68 69 ... 97 98 99 ... CAR ... ... 0 1 2 3 4 ... A B C D E ... a b c ... Anche le immagini vengono convertite e codificate come sequenze di bit e si parla in questo caso di “digitalizzazione” che si articola in due meccanismi: campionamento spaziale : meccanismo tramite il quale si trasforma uno spazio continuo in uno spazio campionato (come una scacchiera) ed ogni "quadratino assume il colore "tipico" della regione di spazio dell'immagine; quantizzazione :consiste nella trasformazione di una variazione continua in una variazione discreta. L'immagine si trasforma così in una "matrice bidimensionale di numeri". Prudenzano Raffaele Scardino Eleonora