1. Utilizzando la codifica ASCII scrivi in binario le lettere a (minuscolo) e B (MAIUSCOLO) Ricordiamo che A = 65 B=66 ecco tutto l alfabeto di 26 lettere 65 66 67 68 69 70 71 72 73 74 75 76 77 A B C D E F G H I J K L M 78 79 80 81 82 83 84 85 86 87 88 89 90 N O P Q R S T U V W X Y Z Per le lettere minuscole aggiungiamo 32 a=97,b=98. Dunque i numeri delle iniziali sono a=97 e B=66,occorre convertire in binario (base 2) allora divido per 2 successivamente fino ad ottenere quoziente 0 poi prendo i resti (ultimo resto cifra più significativa) Valore Quoziente resto a=97 48 1 48 24 0 24 12 0 12 6 0 6 3 0 3 1 1 1 0 1 Valore Quoziente resto B=66 33 0 33 16 1 16 8 0 8 4 0 4 2 0 2 1 0 1 0 1 Convertito in binario 97 EQUIVALE A 1100001 Convertito in binario 66 EQUIVALE A 1000010 1
2. Convertire i seguenti numeri da base diversa da 10 a BASE 10 1 0 ( 14 ) 8 (?) 10 ( 14 ) = 1*8 + 4 *8 = 8 + 4 = (12 10 8 ) 1 0 ( 41 ) 16 (?) 10 ( 41 ) 16 = 4 *16 + 1*16 = 64 + 1 = (65) 10 3. Convertire i seguenti numeri da base 10 a base diversa da 10 ( 2015 ) 10 (?) 16 divido per 16 successivamente fino ad ottenere quoziente 0 poi prendo i resti (ultimo resto cifra più significativa) Valore Quoziente resto 2015 125 15 125 7 13 7 0 7 Ora in esadecimale (base 16) 13 equivale a C 15 ad F Convertito in esadecimale 2015 EQUIVALE A 7CF ( 41 ) 10 (?) 7 divido per 7 successivamente fino ad ottenere quoziente 0 Valore Quoziente resto 41 5 6 5 0 5 Convertito in BASE 7 41 EQUIVALE A 56 2
4. Convertire i seguenti numeri da base diversa da 10 a base diversa da 10 ( 44 ) 11 (?) 8 prima converto in base 10 e successivamente in base 8 1 0 ( 44 ) 11 = 4 *11 + 4 *11 = 44 + 4 = (48) 10 divido per 8 successivamente fino ad ottenere quoziente 0 Valore Quoziente resto 48 6 0 6 0 6 Convertito in BASE 8 48 EQUIVALE A 60 ( 44 ) 11 = ( 60) 8 ( 55 ) 11 (?) 7 prima converto in base 10 e successivamente in base 7 1 0 ( 55 ) = 5*11 + 5 *11 = 55 + 5 = (60 10 11 ) divido per 7 successivamente fino ad ottenere quoziente 0 Valore Quoziente resto 60 8 4 8 1 1 1 0 1 Convertito in BASE 7 60 EQUIVALE A 114 ( 55 ) 11 = ( 114) 7 3
5. Voglio codificare le caratteristiche di una persona nel seguente modo: set bit 0 =1 significa che la persona FREQUENTA IL LICEO altrimenti no set bit 1 =1 significa che la persona SUONA UNO STRUMENTO altrimenti no set bit 2 =1 significa che la persona MASCHIO altrimenti no set bit 3 =1 significa che la persona PRATICA SPORT altrimenti no Se ad ANDREA è assegnato un valore ( 7 ) 10, quali sono le sue caratteristiche? 7 IN BINARIO equivale a 111 in 4 bit 0111 La decodifica va fatto secondo la posizione 3 2 1 0 PRATICA SPORT MASCHIO SUONA UNO STRUMENTO FREQUENTA IL LICEO Nel nostro caso 0 1 1 1 NON PRATICA SPORT MASCHIO SUONA UNO STRUMENTO FREQUENTA IL LICEO 4
Se a LUIGI è assegnato un valore ( 8 ) 10, quali sono le sue caratteristiche? 8 IN BINARIO equivale a 1000 1 0 0 0 PRATICA SPORT NON è MASCHIO NON SUONA UNO STRUMENTO NON FREQUENTA IL LICEO N.B LUIGI non è maschio potrebbe sembrare una contraddizione ma dal punto di vista della decodifica è corretto (non ci interessano altre considerazioni) 6. Perché con le cifre 7 e 9 si ottiene 79 Perché in base 10 79 = 7*10+9 7. Perché il numero ( 28) 8 non può esistere? In base 8 le cifre disponibili sono 0-7 8. DATO IL CODICE FISCALE V S S L R I 0 5 H 4 6 D 2 9 6 L 1. Cosa possiamo dire sul cognome? 2. Cosa possiamo dire sul nome? 3. Cosa possiamo dire sul età? 4. Cosa possiamo dire sulla data di nascita? 5. Cosa possiamo dire sul comune? 6. La persona è maschio o femmina? 7. L ultimo carattere cosa rappresenta? Il codice fiscale è composto da 16 cifre e suddivisi in 7 gruppi 5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 V S S L R I 0 5 H 4 6 D 2 9 6 L Non teniamo conto delle eccezioni (esempio cognome o nome con meno di 3 consonanti ) 1. Cosa possiamo dire sul cognome? Le cifre sono 1,2,3 Sappiamo le prime consonanti sono VSS Non è possibile risalire al cognome potrebbe essere ad esempio Avossa, Vassena etc etc 2. Cosa possiamo dire sul nome? Sappiamo le prime consonanti sono LRI Le cifre sono 4,5,6 Non è possibile risalire Al nome potrebbe essere ad esempio ILARIA 3. Cosa possiamo dire sul età? Sappiamo che le ultime 2 cifre sono 05 Le cifre sono 7,8 Dunque Potrebbe essere 1905 oppure 2005 nel primo caso avrebbe 111 anni dunque possiamo assumere che l anno di nascita sia 2005 pertanto l età è 11 anni 4. Cosa possiamo dire sulla data di nascita? 6
L anno lo abbiamo già, il mese è la cifra 9 (Gennaio A, Febbraio B, Marzo C, Aprile D, Maggio E, Giugno H, Luglio L, Agosto M, Settembre P, Ottobre R, Novembre S, Dicembre T) Dunque GIUGNO In questo caso 46 Il giorno Le cifre sono 10,11 Per le donne il numero viene aumentato di 40. Questa trasformazione serve a indicare il sesso. Nel caso in cui il giorno è compreso tra 1 e 31 è maschio. Se il numero supera quaranta sottraggo 40 e dico che è femmina 46-40=6 giorno 6 5. Cosa possiamo dire sul comune? In questo caso D296 Le cifre sono 12,13,14,15 Per indicare il comune di nascita vengono utilizzati i codici catastali, fatti di tre numeri e una lettera. Questi codici sono standard Se digito su google comune d296 Tra le prime posizioni trovo 7
E scopro le corrisponde a DIANO CASTELLO 6. La persona è maschio o femmina? abbiamo risposto al punto 4 siccome il giorno è superiore a 40 si tratta di una femmina 7. L ultimo carattere cosa rappresenta? La 16-esima cifra è un carattere di controllo dei primi 15 (checksum) Essa è calcolata con un procedimento matematico e serve a verificare che il codice fiscale sia valido Ecco il procedimento (solo che chi è curioso) Per ogni cifra di posizione pari 2,4,6,8,10,12,14 Si trova la posizione in questa lista a partire da 0 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ Esempio la seconda vale S si trova in posizione 28 Poi si trova la lettera in posizione 28 In questa lista A PARTIRE DA 0 ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ trovo la S 8
INFINE TROVO LA POSIZIONE DELLA S IN QUESTA LISTA A PARTIRE DA 0 ABCDEFGHIJKLMNOPQRSTUVWXYZ 18 Ho trovato 18 la QUARTA vale L si trova in posizione (A PARTIRE DA 0) 21 Poi si trova la lettera in posizione 21 In questa lista A PARTIRE DA 0 ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ trovo la L INFINE TROVO LA POSIZIONE DELLA L IN QUESTA LISTA A PARTIRE DA 0 ABCDEFGHIJKLMNOPQRSTUVWXYZ 11 Ho trovato 11 Per le posizioni pari ottengo le cifre che vado a sommare 18,11,8,5,4,3,9 posizioni pari LA SOMMA VALE 18+11+8+5+4+3+9 = 58 Per ogni cifra di posizione DISPARI 1,3,5,7,9,11,13,15 Si trova la posizione in questa lista a partire da 0 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ Esempio la PRIMA CIFRA vale V si trova in posizione 31 9
Poi si trova la lettera in posizione 31 In questa lista A PARTIRE DA 0 ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ trovo la V INFINE TROVO LA POSIZIONE DELLA V IN QUESTA LISTA A PARTIRE DA 0 BAKPLCQDREVOSFTGUHMINJWZYX 10 Esempio la TERZA CIFRA vale S si trova in posizione 28 Poi si trova la lettera in posizione 28 In questa lista A PARTIRE DA 0 ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ trovo la S INFINE TROVO LA POSIZIONE DELLA S IN QUESTA LISTA A PARTIRE DA 0 BAKPLCQDREVOSFTGUHMINJWZYX 12 Ecco tutti i valori Ho trovato 12 10,12,8,1,17,15,5,15 posizioni dispari Per le posizioni dispari ottengo le cifre che vado a sommare posizioni DISPARI LA SOMMA VALE 10+12+8+1+17+15+5+15 = 83 83+58 = 141 prendo il resto della divisione tra la somma e 26 ottengo 11 141 = 5*26 + 11 SE VALE 0 LA LETTERA è A 10
SE VALE 1 LA LETTERA E B Il codice ASCII della cifra di controllo si ottiene sommando 65 che è il codice della lettera A 11+65 = 76 CHE CORRISPONDE ALLA LETTERA L 9. Dato il libro di FISICA della 1ASA con codice ISBN 9 7 8 8 8 6 3 6 4 5 6 1 3 Come si calcola l ultima cifra? Digitando con google isbn 9788863645613 compare nelle prime posizioni 11
Ecco come si calcola la cifra di controllo (CHECKSUM) 1 2 3 4 5 6 7 8 9 10 11 12 13 9 7 8 8 8 6 3 6 4 5 6 1 3 Annotiamo le cifre di posizione dispari e quelle in posizione pari del codice escluso ultima 978886364561 3 Facciamo la somma posizioni dispari 9+8+8+3+4+6 = 38 Facciamo la somma posizioni pari 7+8+6+6+5+1 = 33 Adesso sommiamo la somma dispari più tre volte la somma delle posizioni pari 38+33*3 = 38+99 = 137 Prendo il resto della divisione con dieci 12
resto = 137 mod 10 = 7 se resto 0 alla la cifra è 0 altrimenti la cifra è 10-resto In questo caso 10-7 = 3 Ultima cifra vale: 3 13