Algorytmy

Sprawdzanie sum kontrolnych dla innych numerów

Sprawdzanie sum kontrolnych dla innych numerów



Obliczanie sum kontrolnych prezentowanych w tym artykule nie różni
się prawie niczym od sposobu przedstawionego w moim artykule o Obliczaniu sumy kontrolnej numeru karty

kredytowej oraz numeru banku
.
No to zaczynamy.



ISBN (International
Standard Book Number
- Międzynarodowy System Numeracji Książek)


Jako przykładowy numer ISBN weźmiemy sobie numer książki
Adama Boducha Delphi 7 - Ćwiczenia zaawansowane czyli
83-7361-076-6


Pierwsze 2 cyfry oznaczają kraj kraj wydania /83 oznacza Polskę/


Ostatnia cyfra jest sumą kontrolą


Obliczanie sumy kontrolnej


WAGI : 10,9,8,7,6,5,4,3,2


1. Mnożymy numer ISBN przez wagi


837361076 -- numer ISBN


*1098765432 -- wagi


----------------------


80|27|56|21|36|5|0|21|12|



2. Dodajemy wyniki otrzymane w punkcie 1.


80+27+56+21+36+5+0+21+12 = 258


3. Wynik z punktu 2. dzielimy modulo 11


258 mod 11 = 5


4. Odejmujemy wynik z punktu 3. od 11


11-5 = 6 <-- suma kontrolna



Jeżeli wynik równy jest 11 to suma kontrolna = 0


Jeżeli wynik równy jest 10 to suma kontrolna = X



ISMN (International
Standard Music Number
- Międzynarodowy System Numeracji Muzyki)


Numer przykładowy - M9005202-2-7


WAGI - 3,1,3,1,3,1,3,1,3


1. Zamieniamy M na 3


2. Mnożymy numer ISMN przez wagi


390052022 -- numer ISBN


*313131313 -- wagi


----------------------


9|9|0|0|15|2|0|2|6



3. Dodajemy wyniki otrzymane w punkcie 2.


9+9+0+0+15+2+0+2+6 = 43


4. Wynik z punktu 3. dzielimy modulo 10


43 mod 10 = 3


5. Odejmujemy wynik z punktu 4. od 10


10 - 3 = 7 <-- suma kontrolna



EAN13 (Numer znajdujący
się pod kodem kreskowym)


Numer przykładowy - 5 901234 123457


WAGI : 1,3,1,3,1,3,1,3,1,3,1,3


1. Mnożymy numer EAN13 przez wagi


590123412345 -- numer EAN13


*131313131313 -- wagi


----------------------


5|27|0|3|2|9|4|3|2|9|4|15



2. Dodajemy wyniki otrzymane w punkcie 1.


5+27+0+3+2+9+4+3+2+9+46+15 = 83


3. Wynik z punktu 2. dzielimy modulo 10


83 mod 10 = 3


4. Odejmujemy wynik z punktu 3. od 10


10-3 = 7 <-- suma kontrolna


EAN8 (Numer znajdujący
się pod kodem kreskowym)


Numer przykładowy - 5901 2344


WAGI : 3,1,3,1,3,1,3


1. Mnożymy numer EAN8 przez wagi


5901234 -- numer EAN8


* 3131313 -- wagi


----------------------


15|9|0|1|6|3|12



2. Dodajemy wyniki otrzymane w punkcie 1.


15+9+0+1+6+3+12 = 46


3. Wynik z punktu 2. dzielimy modulo 10


46 mod 10 = 6


4. Odejmujemy wynik z punktu 3. od 10


10-6 = 4 <-- suma kontrolna



IACS (Integrated
Animal Counting System
- Zintegrowany System Rejestracji Bydła :)


2 pierwsze znaki to oznaczenie kraju


2 kolejne to numer serii kolczyka


9 kolejnych to numer zwierzęcia


ostatnia cyfra to suma kontrolna



Do obliczenia sumy kontrolnej numeru IACS istnieją 2 algorytmy
:


I sposób


Numer przykładowy - PL 00 50109 3711 7


WAGI - 3,1,3,1,3,1,3,1,3,1,3


1. Mnożymy numer EAN8 przez wagi


00501093711 -- numer EAN8


* 31313131313 -- wagi


----------------------


0|0|15|0|3|27|3|21|1|3



2. Dodajemy wyniki otrzymane w punkcie 1.


0+0+15+0+3+27+3+21+1+3 = 73


3. Wynik z punktu 2. dzielimy modulo 10


73 mod 10 = 3


4. Odejmujemy wynik z punktu 3. od 10


10-3 = 7 <-- suma kontrolna



II sposób


Numer przykładowy - PL 00 50303 1251 4


1. Mnożymy pierwszy człon numeru zwierzęcia przez 5


50303 * 5 = 251515


2. Do otrzymanego w punkcie 1. wyniku dodajemy drugi człon
numeru zwierzęcia


251515 + 1251 = 252766


3. Wynik z punktu 2. Dzielimy modulo 7


252766 mod 7 = 3


4. Do wyniku z punktu 3. dodajemy 1


3 +1 = 4 <-- suma kontrolna



W poniższej tabeli znajdują się numery serii, których sumy
kontrolne oblicza się według powyższego algorytmu



  <center>
 
Numer OD DO
1. 501369726 501681125
2. 501913026 502066375
3.. 502326376 502357425
4. 502376526 502384225
5. 502386076 502516975
6. 502524626 502568525
7. 503693526 503744925
8. 504185926 504252075
9. 504390426 504392425
10. 504394726 504395725
11. 504405176 504407025
12. 504413026 504416625
13. 505693526 505841325

  </center>

3 komentarze

doozer 2013-07-11 12:33

W sposobie obliczania EAN8 brakuje jeszcze informacji, że gdy suma kontrolna wyniesie 10 to należy ją traktować jako 0. BTW dzięki za Art!

DoZer 2005-07-13 15:08

W 1 sposobie obliczania IACS jest blad w wagach:
JEST:             WAGI - 3,1,3,1,31,3,1,3,1,3
POWINNO BYC: WAGI - 3,1,3,1,3,1,3,1,3,1,3

Twardy 2004-04-11 12:14

A nie lepiej wskoczyc na link i sprawdzic od profesjonalistow:
[url]http://wipos.p.lodz.pl/zylla/ut/isbn.html[/url]
Sprobuj napisac dobry artykol o plikach PE.

Czyzby sekret sum kontrolnych wyszedł na wieszch?