Jump to content

Isikukoodi selgitust

From Wikiversity

Selgitus EV isikukoodile[edit]

Isikukood koosneb üheteistkümnest numbrist. Isikukoodi numbrite tähendused on:

esimene number

  • 1 - aastail 1800-1899 sündinud mees;
  • 2 - aastail 1800-1899 sündinud naine;
  • 3 - aastail 1900-1999 sündinud mees;
  • 4 - aastail 1900-1999 sündinud naine;
  • 5 - aastail 2000-2099 sündinud mees;
  • 6 - aastail 2000-2099 sündinud naine;

teine ja kolmas number

  • sünniaasta kaks viimast numbrit;

neljas ja viies number

  • sünnikuu number (jaanuar - 01 jne);

kuues ja seitsmes number

  • sünnikuupäev (01 jne);

kaheksas, üheksas ja kümnes number

  • eristav number ühel ja samal päeval sündinuile;

üheteistkümnes number

  • kontrollnumber, mis arvutatakse standardis toodud eeskirja kohaselt.


Allikas: https://www.riigiteataja.ee/ert/act.jsp?id=13245887

Kontrollnumbri arvutamise algoritm:[edit]

Isikukoodis peavad kõik sugu ning kuupäeva tähistavad väärtused olema võimalikud ning viimane kontrollnumber arvutatakse järgneva algoritmi järgi: liidetakse kokku esimese kümne numbri korrutised igale arvule vastava järjekorranumbriga ning leitakse saadud summa jääk jagamisel 11-ga. Seega esimene kordajate jada oleks:

1, 2, 3, 4, 5, 6, 7, 8, 9, 1

Kui jääk on võrdne kümnega, siis tehakse arvutus uuesti ning võetakse teguriteks vastavalt

3, 4, 5, 6, 7, 8, 9, 1, 2, 3
Näide: isikukoodi 37605030299 kontroll. 
Summa = 1*3 + 2*7 + 3*6 + 4*0 + 5*5 + 6*0 + 7*3 + 8*0 + 9*2 + 1*9 = 108
108 jääk jagamisel 11-ga on 9 => isikukoodi viimane number peab olema üheksa. 

Järkude korrutamise jaoks on mõistlik programmi alguses kirjeldada konstantide massiivid, kust siis kontrollsumma leidmise käigus järjest tegureid võtta saab. Et tegureid on kaks komplekti, siis tuleks kirjeldada ka kaks ennikut.

kordajad1 = (1, 2, 3, 4, 5, 6, 7, 8, 9, 1)
kordajad2 = (3, 4, 5, 6, 7, 8, 9, 1, 2, 3)