JMBG
JMBG odn. Jedinstveni Matični Broj Građana je nešto što u "totalnim" demokracijama ne postoji, a svi ga mi (rođeni u Hrvatskoj i u ex. Jugi) dobivamo u prvim danima našeg života. Dolje prikazan stoji algoritam kojim se kontrolira točnost
unesenog matičnog broja, a može Vam poslužiti pri izradi programskih aplikativnih rješenja. Važno je napomenuti da je dosta veliki broj matičnih brojeva (pogotovo onih iz (ex.) BiH) "netočan" odn. ne zadovoljavaju zadanu formulu. Zbog toga je važno ostaviti korisniku Vašeg programa da (ipak) unese i taj krivi broj, npr. "Unesen je krivi matični broj. Pritisnite [F9] nakon provjere ako je to ipak točan broj."
Ako je Matični broj napisan u formatu ABCDEFGHIJKLM onda je:
M = 11 - ( 7*(A+G) + 6*(B+H) + 5*(C+I) + 4*(D+J) + 3*(E+K) + 2*(F+L) ) % 11
...ili riječima: zbrojite 1. i 7., 2. i 8., 3. i 9., 4. i 10., 5. i 11., te 6. i 12. znamenku matičnog broja. Dobivenih 6 suma pomnožite sa 7, 6, 5, 4, 3 odn. 2 i zbrojite dobivene umnoške. Navedeni zbroj podijelite sa 11 i ostatak tog dijeljenja oduzmite od 11. Dobivate kontrolnu znamenku koja bi se trebala nalaziti na 13. mjestu matičnog broja.
U spreadsheetu (Excel, Lotus, Quattro) bi to ovako izgledalo:
- Excel: A1: matični broj - kao tekstualni podatak (što će reći da je u TEXT formatu)
- Excel: B1: =IF(A1="";"";IF( 11-(MOD(
7*(MID(A1;1;1)+MID(A1;7;1)) +
6*(MID(A1;2;1)+MID(A1;8;1)) +
5*(MID(A1;3;1)+MID(A1;9;1)) +
4*(MID(A1;4;1)+MID(A1;10;1)) +
3*(MID(A1;5;1)+MID(A1;11;1)) +
2*(MID(A1;6;1)+MID(A1;12;1));11))
=VALUE(MID(A1;13;1));"OK";"!"))
- Quattro: A1: matični broj - kao tekstualni podatak (što će reći da ima (npr.) apostrof kao prefiks)
- Quattro: B1@IF(A1="";"";@IF(11-@MOD(
7*(@VALUE(@MID(A1;0;1))+@VALUE(@MID(A1;6;1))) +
6*(@VALUE(@MID(A1;1;1))+@VALUE(@MID(A1;7;1))) +
5*(@VALUE(@MID(A1;2;1))+@VALUE(@MID(A1;8;1))) +
4*(@VALUE(@MID(A1;3;1))+@VALUE(@MID(A1;9;1))) +
3*(@VALUE(@MID(A1;4;1))+@VALUE(@MID(A1;10;1))) +
2*(@VALUE(@MID(A1;5;1))+@VALUE(@MID(A1;11;1)));11)
=@VALUE(@MID(A1;12;1));"OK";"!"))
Ako se netko potrudio i optimizirao ove formule, bio bih mu zahvalan (a i drugi) ako bi mi poslao iste...
|