Algoritmi, CalcoloCodice Fiscale

Segue il necessario ad implementare in autonomia una implementazione circa il calcolo o il controllo del Codice Fiscale italiano.

Codice Sorgente in C# calcolo e controllo Codice Fiscale e Partita IVA, scaricabile gratuitamente: CSharp_app1_CF_.

Determinazione della sezione Cognome

I cognomi composti da più parti o comunque separati od interrotti, vengono considerati come se fossero scritti secondo un’unica ininterrotta sequenza.

Per i soggetti di sesso femminile coniugati si prende in considerazione soltanto il cognome da nubile.

Se il cognome contiene tre o più consonanti, i tre caratteri da rilevare sono, nell’ordine, la prima, la seconda e la terza consonante.

Se il cognome contiene due consonanti, i tre caratteri da rilevare sono, nell’ordine, la prima e la seconda consonante e la prima vocale.

Se il cognome contiene una consonante e due vocali, si rilevano, nell’ordine, quella consonante e quindi la prima e la seconda vocale.

Se il cognome contiene una consonante e una vocale, si rilevano la consonante e la vocale, nell’ordine, e si assume come terzo carattere la lettera X (ics).

Se il cognome è costituito da due sole vocali, esse si rilevano, nell’ordine, e si assume come terzo carattere la lettera X (ics).

Determinazione della sezione Nome

I nomi doppi, multipli o comunque composti, vengono considerati come scritti per esteso in ogni loro parte secondo un unica ininterrotta sequenza di caratteri.

Se il nome contiene quattro o più consonanti i tre caratteri da rilevare sono, nell’ordine, la prima, la terza e la quarta consonante.

Se il nome contiene tre consonanti, i tre caratteri da rilevare sono, nell’ordine, la prima, la seconda e la terza consonante.

Se il nome contiene due consonanti, i tre caratteri da rilevare sono, nell’ordine, la prima e la seconda consonante e la prima vocale.

Se il nome contiene una consonante e due vocali, si rilevano, nell’ordine, quella consonante e quindi la prima e la seconda vocale.

Se il nome contiene una consonante e una vocale, si rilevano la consonante e la vocale, nell’ordine, e si assume come terzo carattere la lettera X (ics).

Se il nome è costituito da due sole vocali, esse si rilevano, nell’ordine, e si assume come terzo carattere la lettera X (ics).

Determinazione della sezione Data di nascita e sesso

Questa sezione è una stringa di 4 caratteri in cui i primi 2 sono l’anno (del 1900) segue un carattere rappresentante il mese, infine, seguono le due cifre del giorno di nascita. Se si tratta di una donna il giorno di nascita viene aumentato di 40. Segue lo schema per determinare il carattere associato al mese.

Gennaio A
Febbraio A
Marzo B
Aprile C
Maggio D
Giugno E
Luglio H
Agosto L
Settembre P
Ottobre R
Novembre S
Dicembre T

Es. maschio 20/12/1971->71T20

Come determinare il carattere di controllo

In base alle lettere che compongono il codice fiscale si otterranno dei numeri secondo la seguente tabella. Si sommano quindi i numeri ottenuti dalle corrispondenze con i caratteri in posizione pari con quelli relativi ai caratteri in posizione dispari, il risultato si divide per 26, il resto, che è ovviamente minore di 26, lo si associa alla lettera corrispondente secondo la terza colonna della tabella ottenendo così il carattere di controllo.

Carattere Numeroposizio. pari Numeropos. dispari Letteradi ctrl
A 0 1 0 = A
B 1 0 1 = B
C 2 5 2 = C
D 3 7 3 = D
E 4 9 4 = E
F 5 13 5 = F
G 6 15 6 = G
H 7 17 7 = H
I 8 19 8 = I
J 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
0 0 1
1 1 0
2 2 5
3 3 7
4 4 9
5 5 13
6 6 15
7 7 17
8 8 19
9 9 21

 

Esempio di calcolo:

Rossi Claudio nato il 15/10/195 a Roma:

R S S C L D 5 0 R 1 5 H 5 0 1 Y
8 12 4 13 8 13 13 0 31
18 2 3 0 1 7 0 71

31 + 71 = 102 : 26 = 3 con resto di 24 che corrisponde al carattere Y.

Consigli per gli sviluppatori

Nel realizzare l’applicazione di generazione del CF puoi far seguire pedissequamente i passi indicati nel testo precedente con le azioni dell’algoritmo. Buon divertimento.

Esempi:

Cognome Nome Sesso Data di Nascita Comune di nascita Provincia Codice Fiscale
Ito Ugo M 18/03/1912 Filacciano Rn TIO GUO 12C18 D586 F
Re Al M 15/05/1915 Maclodio Bs REX LAX 15E15 E787 Q
Romanello Isidoro Giuseppe M 15/08/1933 Bosa Nu RMN SRG 33M15 B068 L
Vinci Luisella F 05/12/1973 Torino To VNC LLL 73T45 L219 N
Pol Ei M 15/12/1915 Erba Co PLO EIX 15T15 D416 C
De Paola Patrizia F 16/05/1971 Plataci CS DPL PRZ 71E56 G733 Y

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

venti − sedici =