Секция
«Информатика»
Определение штрих- кода потребительского товара
ВВЕДЕНИЕ
Проблема защиты информации
путем ее преобразования, исключающего ее прочтение посторонним лицом,
волновала человеческий ум с давних времен. История криптографии -
ровесница истории человеческого языка. Более того, первоначально письменность
сама по себе была криптографической системой, так как в древних обществах ею
владели только избранные. Священные книги Древнего Египта, Древней Индии тому
примеры.
С широким
распространением письменности криптография стала формироваться как
самостоятельная наука. Первые криптосистемы встречаются уже в начале нашей эры.
Так, Цезарь в своей переписке использовал уже более менее систематический шифр,
получивший его имя.
Бурное развитие криптографические
системы получили в годы первой и второй мировых войн. Начиная с
послевоенного времени и по нынешний день появление вычислительных средств
ускорило разработку и совершенствование криптографических методов.
Проблема
использования криптографических методов в информационных системах
(ИС) стала в настоящий момент особо актуальна.
С одной стороны, расширилось использование компьютерных сетей, в частности
глобальной сети Интернет, по которым передаются большие объемы информации
государственного, военного, коммерческого и частного характера,
не допускающего возможность доступа к ней посторонних лиц.
С другой стороны, появление новых мощных компьютеров, технологий сетевых
и нейронных вычислений сделало возможным дискредитацию
криптографических систем еще недавно считавшихся практически не
раскрываемыми.
Основываясь на этих
заключениях, было принято решение проверить а как же в нашем современном
обществе происходит кодирование информации, и как это кодирование используется
человеком для получения знаний о потребляемых услугах и товарах.
Цель данной работы: создание программы для определения подлинности товара,
путем обработки их штрих-кода и его расшифровки.
Достижение этой цели
будет реализовано через следующие задачи:
- анализ штрих-кодовой
информации и ее значения в жизни человека;
- создание программы проверки
подлинности товаров, через раскодировку их штрих-кода.
Методы решения основных задач: - анализ, - исследование, -
синтез.
ОПРЕДЕЛЕНИЕ ШТРИХ-КОДОВОЙ ПОДЛИННОСТИ ТОВАРА
С ПОМОЩЬЮ ЯЗЫКА ПРОГРАММИРОВАНИЯ PASCAL
Все
видели на упаковке многих товаров ряд вертикальных полосок различной толщины,
разделенных пустыми интервалами, под которыми написано число:
Такое
изображение называется штриховым кодом, или штрих-кодом. Что же это такое и
зачем это нужно?
Функции штрих-кода
Штрих-код в отличие от многих информационных знаков
выполняет не только общие функции информационного и идентифицирующего
характера, но и ряд дополнительных функций:
§
автоматизированная
идентификация товаров с помощью машиносчитывающих устройств;
§
автоматизированный
контроль и учет товарных запасов;
§
оперативное
управление процессом товародвижения: отгрузкой, транспортировкой и
складированием товаров;
§
повышение
скорости и культуры обслуживания покупателей;
§
информационное
обеспечение маркетинговых исследований.
Перейдем к числу.
В
свое время производители товаров и торговые фирмы столкнулись с серьезной
проблемой: товаров много (например, средний универмаг оперирует с десятью
тысячами наименований), и к каждому - длинный сертификат - документ, в котором
расписано, где сделан товар, на какой фирме, сколько весит, какие габариты и
т.д. Поэтому придумали систему кодирования этой информации в виде
последовательности цифр (и штрихового кода). Более 20 лет назад была создана
глобальная международная организация - система товарных номеров EAN/UCC, образованная на основе
Европейской (European Article Numbering Association – EAN International) и Северо-Американской (Uniform Code Council
- UCC) ассоциаций товарной нумерации.
В настоящее время система EAN/UCC объединяет национальные организации в 94
странах мира. Каждая страна имеет свой номер. Чаще всего коды стран -
двузначные, но могут быть и трехзначными (например, Беларусь-481 (Приложение1).
Внутри
каждой страны проводится нумерация предприятий - изготовителей товаров.
Регистрационный номер предприятия отображается на упаковке продукции в виде
первых цифр кода EAN (например, 4810952).
Следующие
5 цифр - это закодированная информация о товаре (имя товара, масса,
состав, цвет и т.п.). Итак, всего всю необходимую информацию отражают 12 цифр.
Но внимательный покупатель, конечно, обнаружит, что в штрихкодовом числе не
12, а 13 цифр. Дело в том, что последняя, тринадцатая, цифра - контрольная.
При
наличии на упаковке товаров закодированной информации о них можно
автоматизировать процесс распознавания этой информации, если считывать ее
специальным устройством - сканером. Причем можно, конечно, использовать для
распознавания информации о товаре указываемые на упаковке цифры. Но это
потребовало бы применения сложной компьютерной технологии распознавания
символов. Проще и надежнее это делать с использованием двоичного кодирования
этой информации. Нет, речь не идет о том, чтобы представлять число-код в виде
цифр двоичной системы счисления. Просто десятичный номер товара изображается
на упаковке в виде тех самых вертикальных полосок различной толщины и
интервалов между ними, а эта информация является двоичной, хотя на первый
взгляд этого и не скажешь.
Если
сделать тонкий срез этих полосок, то можно увидеть следующее (в увеличенном
масштабе):
Эти
полоски и пробелы графического изображения штрихового кода очень хорошо понятны
специальным приборам - сканерам. Считывая эту информацию слева направо, сканер присваивает
1 первой встреченной черной полоске и 0 - первому промежутку. Следующие промежутки
и штрихи считываются как последовательности одного, двух, трех или четырех
нулей или единиц, в зависимости от ширины штриха иди промежутка. Следовательно,
все изображение может быть представлено как последовательность битов:
101000011001011000010011001...
Эти
биты и есть двоичное представление десятичного числа - кода товара. При
считывании штрихового кода сканер из комбинации штрихов восстанавливает закодированный
номер. Те, кто бывали в крупных магазинах, видели, как кассир, делая расчет,
просто проносит товар, повернув его штрих-кодом вниз, над кассовым аппаратом,
и на экране аппарата мгновенно выскакивает цена. Это происходит потому, что
кассы со считывателями штрихового кода подключены к компьютеру, который
обрабатывает считанную информацию. Кроме удобства работы кассира и "быстроты"
обслуживания покупателя, такая автоматизированная система может обеспечить и
учет объема продаж того или иного товара, уровень спроса на те или иные
изделия, заблаговременно сделать заказ на склад для восполнения запасов товаров
на полках торгового зала и т.п.
Некоторых
покупателей смущает, если на штрих-коде - только собственно штрихи, а цифр нет.
Это - не признак подделки. Для кассового аппарата цифры вообще не имеют
значения, и, если места на товаре мало, их не ставят.
Не
нужно пытать продавца и в том случае, если штрих-код узкий или короткий, или
вообще "какой-то не такой". Обычно так бывает на мелких по размеру товарах.
ЮНИСКАН разрешает производителям таковых использовать сокращенные варианты кодировки.
Есть
и «домашний» способ,
хотя и несколько трудоемкий, узнать по штрих-коду, поддельный ли товар. Используя
последнюю контрольную цифру можно проверить правильность кода товара. Итак,
если вам крайне важно узнать, с чем вы имеете дело, нужно произвести следующие
арифметические действия:
Для
примера я взял произведенное в Беларуси сливочное масло «Беллакт»:
4810263026244
1.
Сложить цифры,
стоящие на четных позициях8+0+6+0+6+4=24
2.
Сумму умножить
на 3.24*3=72
3.
Сложить цифры,
стоящие на нечетных позициях
(не учитывая контрольную цифру).4+1+2+3+2+2=14
4.
Сложить то,
что получилось в результате второго
и третьего действий. 72+14=86
5.
От результата
отбросить первую цифру.6
6.
И отнять от 10
то, что получилось в пятом пункте.4
Этот
результат должен совпадать с контрольной цифрой. Если нет - товар поддельный. В
данном примере товар оказался подлинным.
Метод,
конечно, сложный. Однако, если вы покупаете дорогую вещь или есть сомнения,
доброкачественный ли продукт питания перед вами, имеет смысл произвести эти в
общем-то элементарные процедуры.
Программа
написана на языке программирования:
Алгоритм выполнения программы
Запускаем программу. Вводим штрих-код в программу. Результатом работы
программы станет:
-ответ о подлинности продукта;
-страна- производитель товара и ее код.
В программе поддерживается история операций. Для удобства штрих-код
можно набирать как с клавиатуры, так и кнопочного Num-Pad.
Если вы допустите хоть одну ошибку при введении штрих-кода(введете
цифру, не соответствующую штрих-коду), то программа будет воспринимать данный
продукт как подделку.
Убедившись в подлинности продукта, нажимаем на кнопку “Очистить” и вы
можете снова вводить другой штрих-код.
ЗАКЛЮЧЕНИЕ
Я создал программу для определения подлинности
любого товара. Программа проста в использовании и понятна каждому.
Но и это еще не точка в моей работе. В данный
момент программа адаптируется под среду мобильного телефона, что позволит иметь
эту программу всегда под рукой.. Научившись ею пользоваться можно обезопасить
себя от покупки поделанного товара, тем самым защитить свое здоровье, и не
тратить дополнительные деньги на покупки новых более качественных товаров.
ЛИТЕРАТУРА
1. Статья «История криптографии», «В мире информатики
№15/ Информатика №47/2013»
2. Статья «Первые криптографические машины», «В мире
информатики №87/ Информатика №5/2007»
3. Статья «Кодирование информации о товаре», «В мире
информатики №55/ Информатика №8/2005»
4. Баричев С. «Криптография без секретов»
Приложение 1
Коды стран местонахождения баз
данных о штрих-коде
Штрих-код
|
Страна
|
Штрих-код
|
Страна
|
Штрих-код
|
Страна
|
00-09
|
США и Канада
|
54
|
Бельгия и Люксембург
|
779
|
Аргентина
|
30-37
|
Франция
|
560
|
Португалия
|
780
|
Чили
|
380
|
Болгария
|
569
|
Исландия
|
786
|
Эквадор
|
383
|
Словения
|
57
|
Дания
|
789
|
Бразилия
|
385
|
Хорватия
|
590
|
Польша
|
80-83
|
Италия
|
400-440
|
Германия
|
599
|
Венгрия
|
84
|
Испания
|
460-469
|
Россия и СНГ
|
600-601
|
ЮАР
|
850
|
Куба
|
471
|
Тайвань
|
611
|
Марокко
|
858
|
Словакия
|
474
|
Эстония
|
613
|
Алжир
|
859
|
Чехия
|
475
|
Латвия
|
619
|
Тунис
|
860
|
Югославия
|
477
|
Литва
|
94
|
Новая Зеландия
|
869
|
Турция
|
482
|
Украина
|
64
|
Финляндия
|
87
|
Нидерланды
|
484
|
Молдова
|
690
|
КНР
|
880
|
Южная Корея
|
489
|
Гонконг
|
70
|
Норвегия
|
885
|
Таиланд
|
45 и 49
|
Япония
|
729
|
Израиль
|
888
|
Сингапур
|
50
|
Великобритания
|
73
|
Швеция
|
890
|
Индия
|
520
|
Греция
|
750
|
Мексика
|
893
|
Вьетнам
|
529
|
Кипр
|
759
|
Венесуэла
|
90-91
|
Австрия
|
535
|
Мальта
|
76
|
Швейцария
|
93
|
Австралия
|
539
|
Ирландия
|
770
|
Колумбия
|
955
|
Малайзия
|
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.