* * *
ПРОГРАММА В EXCEL ДЛЯ РАСЧЕТА КОНТРОЛЬНОЙ ЦИФРЫ КОДА
Штрихкод стандарта EAN-13 — это номер из 12 цифр плюс тринадцатая цифра, называемая контрольной цифрой (КЦ). 13 цифр составляют четыре группы:
* * *
Стандарт штрихкода
Стандарт EAN в момент создания в 1976 г. являлся аббревиатурой (
Первые три цифры (АВС) обозначают код страны, производящей товар. Для России этот код может быть от 460 до 469. Для некоторых стран этот код может быть двузначным; тогда третья цифра входит в следующую группу.
Следующие шесть цифр (DEFGHI) обозначают компанию, производящую продукт. В этой группе может быть 4–6 цифр.
Остальные три цифры (JKL) означают код продукта, который был выбран компанией. В этой группе может быть 3–5 цифр.
Последняя цифра (М) — контрольный код. Чтобы вычислить его, мы должны сложить цифры на нечетных позициях, начиная с левой и без учета контрольной.
К полученному значению мы прибавим утроенную сумму цифр на четных позициях. Тогда контрольная цифра дополняет общую сумму до значения, кратного 10. Как видно, контрольный алгоритм системы штрихкодов очень напоминает правило контроля кредитных карт.
Проверим, действителен ли следующий штрихкод:
8413871003049
8 + 1 + 8 + 1 + 0 + 0 + 3•(4 + 3 + 7 + 0 + 3 + 4) = 18 + 3•21 = 18 + 63 = 81.
Правильная контрольная цифра должна быть 90–81 = 9.
Математическая модель алгоритма основана на модульной арифметике (по модулю 10) и работает следующим образом.
Для штрихкода ABCDEFGHIJKLM обозначим за N следующее значение:
A + C + E + G + I + K + 3•(B + D + F + H + J + L) = N,
и пусть
Предыдущий алгоритм можно сформулировать по-другому, используя в расчетах контрольную цифру. Следующий метод позволяет проверить правильность контрольной цифры, даже не вычисляя ее.
A + C + E + G + I + K + 3•(B + D + F + H+ J + L)
Например, для штрихкода
5701263900544
5 + 0 + 2 + 3 + 0 + 5 + 3•(7 + 1 + 6 + 9 + 0 + 4) + 4 = 100.
100
Значит, штрихкод действителен.
Теперь попробуем определить значение утерянной цифры в штрихкоде, а именно, цифры X в следующем коде:
401332003X497
Подставим цифры в формулу в соответствии с алгоритмом
4 + 1 + 3 + 0 + 3 + 4 + 3•(0 + 3 + 2 + 0 + X + 9) + 7 = 64 + 3X
По модулю 10 получим следующее уравнение:
4 + ЗХ
ЗХ = -4 + 0 = -4 + 10
Заметим, что число 3 имеет обратный элемент, т. к. НОД (3,10) = 1.
Отсюда видим, что X должно быть 2. Поэтому правильный штрихкод
4013320032497.
* * *