Codice fiscale
Un codice fiscale italiano è formato da 16 caratteri alfanumerici. I primi 15 caratteri servono ad identificare la persona, mentre invece, l’ultima lettera è una lettera di controllo.
Il codice fiscale è diviso in 7 parti e cioè:
- tre lettere per l’individuazione del cognome
- tre lettere per l’individuazione del nome
- due numeri per l’anno di nascita
- una lettera per il mese di nascita
- due numeri per il giorno di nascita ed il sesso
- una lettera e tre numeri per l’individuazione del luogo di nascita
- una lettera finale di controllo
cognome | nome | anno | data | comune | controllo | ||||||||||
R | S | S | M | R | A | 9 | 0 | M | 4 | 6 | F | 2 | 0 | 5 | J |
Per fare questo esercizio prendiamo un esempio: Maria Rossi, donna, nata a Milano il 6/8/1990.
Cognome
Dobbiamo ricavare 3 lettere per il cognome. Bisogna prendere la prima, la seconda e la terza consonante. Però potrebbe anche succedere che ci siano solo due consonanti oppure una sola; in tal caso dopo aver preso le consonanti si inizia a prendere anche le vocali. Se ancora mancano altre lettere per completare la nostra stringa di tre caratteri si aggiunge la lettera X.
I cognomi composti da più parole vanno considerati come se fossero una sola parola.
cognome | ||
R | S | S |
Nome
Il procedimento che si utilizza per ricavare le tre lettere del nome, è uguale a quello del cognome con l’unica differenza che adesso dobbiamo prendere la prima, la terza e la quarta consonante. Nel caso non ci sono quattro consonanti, si prendono le prime tre e se ci sono meno di tre consonanti si effettua lo stesso procedimento del cognome.
nome | ||
M | R | A |
Anno di nascita
I due numeri dell’anno di nascita sono semplicemente le sue ultime due cifre.
anno | |
9 | 0 |
Mese di nascita
Per il mese di nascita non dobbiamo inserire il numero del mese, ma una lettera; questo perché i mesi sono 12 e lo spazio a disposizione è ristretto ad un carattere solo. Ecco qui la tabella delle lettere corrispondenti ai mesi :
N | Mese | Lettera |
1 | Gennaio | A |
2 | Febbraio | B |
3 | Marzo | C |
4 | Aprile | D |
5 | Maggio | E |
6 | Giugno | H |
7 | Luglio | L |
8 | Agosto | M |
9 | Settembre | P |
10 | Ottobre | R |
11 | Novembre | S |
12 | Dicembre | T |
Giorno di nascita e sesso
Per definire il giorno di nascita ed il sesso di una persona abbiamo a disposizione 2 cifre. Nel caso si tratti di un uomo basta usare queste 2 cifre per indicarne semplicemente il giorno di nascita (con lo zero davanti se il giorno è di una sola cifra), mentre se si tratta di una donna dobbiamo inserire il giorno di nascita sommato a 40.
data | ||
M | 4 | 6 |
Luogo di nascita
Il luogo di nascita può essere uno degli 8100 comuni d’Italia oppure un paese straniero. Il metodo per calcolare il codice corrispondente, è simile a quello per il mese di nascita, perché ad ogni comune italiano o stato estero corrisponde un determinato codice formato da 1 carattere alfabetico e 3 caratteri numerici, questi codici vengono redatti dalla Direzione generale del Catasto. Il mio programma scaricabile al termine di questa pagina carica i codici degli 8100 comuni d’Italia da un file di testo che potrete scaricare insieme ad esso. Nota che per quanto riguarda le nazioni estere, esistono i codici anche per nazioni che oggi non esistono più come per esempio la Cecoslovacchia o la Germania dell’est, va considerato la stato alla data di nascita della persona.
Lettera di controllo
Siamo quindi arrivati all’ultima fase che corrisponde al calcolo, tramite un ben determinato algoritmo, della lettera di controllo. L’algoritmo consiste nel convertire i vari caratteri in numeri secondo la tabella sottostante e poi eseguire varie operazioni seguendo questi passi:
- Convertire in numeri i caratteri di posizione pari.
- Convertire in numeri i caratteri di posizione dispari.
- Addizionare tutti i valori ottenuti e dividerli per 26.
- Determinare una lettera alfabetica corrispondente al resto dell’operazione (vedi tabella).
Conversione caratteri pari e dispari | Valori lettera di controllo | |||
Carattere | Valore pari | Valore dispari | Resto | Lettera di controllo |
A o 0 (zero) | 0 | 1 | 0 | A |
B o 1 | 1 | 0 | 1 | B |
C o 2 | 2 | 5 | 2 | C |
D o 3 | 3 | 7 | 3 | D |
E o 4 | 4 | 9 | 4 | E |
F o 5 | 5 | 13 | 5 | F |
G o 6 | 6 | 15 | 6 | G |
H o 7 | 7 | 17 | 7 | H |
I o 8 | 8 | 19 | 8 | I |
J o 9 | 9 | 21 | 9 | J |
K | 10 | 2 | 10 | K |
L | 11 | 4 | 11 | L |
M | 12 | 18 | 12 | M |
N | 13 | 20 | 13 | N |
O | 14 | 11 | 14 | O |
P | 15 | 3 | 15 | P |
Q | 16 | 6 | 16 | Q |
R | 17 | 8 | 17 | R |
S | 18 | 12 | 18 | S |
T | 19 | 14 | 19 | T |
U | 20 | 16 | 20 | U |
V | 21 | 10 | 21 | V |
W | 22 | 22 | 22 | W |
X | 23 | 25 | 23 | X |
Y | 24 | 24 | 24 | Y |
Z | 25 | 23 | 25 | Z |