
- •Введение
- •1.Понятие экономической информационной системы (эис)
- •1.1. Понятие системы
- •1.2. Понятие эис. Назначение эис
- •1.3.Классификация эис
- •1.4. Основные принципы и методы построения эис
- •1.4.1. Принципы построения и функционирования эис.
- •1.4.2.Структурный и объектно-ориентированный подходы к проектированию.
- •1.4.3.Понятие жц эис.
- •2.Теоретические основы работы с информацией
- •2.1. Понятие информации
- •2.2. Измерение количества информации
- •Задания на дом
- •2.3.Кодирование информации
- •2.3.1.Оптимальное основание кода
- •2.3.2.Запись натурального числа в двоичной системе
- •2.3.3.Код Грэя
- •2.3.4.Оптимальное кодирование
- •2.3.5.Помехозащищенное кодирование
- •2.4.Методы организации данных в памяти эвм
- •2.4.1.Типы данных, структуры данных и абстрактные типы данных
- •2.4.2.Время выполнения программ
- •2.4.3.Списки
- •2.4.4.Реализация списков
- •Реализация списков посредством массивов
- •Реализация списков с помощью указателей
- •Реализация списков с помощью курсоров
- •2.4.5.Стеки
- •2.4.6.Реализация стеков
- •2.4.7.Очереди
- •2.4.8.Реализация очередей
- •2.4.9.Графы и деревья
- •2.4.10.Некоторые сд для хранения графов и деревьев
- •3.Особенности работы с экономической информацией
- •3.1.Классификация и кодирование экономической информации.
- •3.2.Единая система классификации и кодирования
- •3.3.Штриховое кодирование
- •Алгоритм расчета контрольного разряда ean
- •4.Модели данных
- •4.1.Атрибуты, составные единицы информации, показатели, документы
- •4.2.Операции над сеи
- •4.3.Реляционная модель данных
- •4.3.1. Отношения, как основа реляционной модели данных
- •4.3.2. Операции над отношениями
- •Операции объединения, пересечения и разности отношений
- •Операция декартова произведения отношений
- •Отношение «список программистов» и результат выполнения проекции
- •Операция натурального соединения отношений
- •4.3.3. Нормализация отношений
- •4.3.4. Функциональные зависимости
- •4.3.5. Нормальные формы
- •Результат первого шага приведения к 2нф отношения преподаватель_предмет (отношение преподаватель в 2нф)
- •Результат первого и второго шагов приведения к 2нф отношения преподаватель_предмет (все отношения в 2нф)
- •4.3.8. Пример проектирования реляционной бд
- •5.Модели знаний
- •5.1. Классификация знаний
- •5.2. Продукционная модель представления знаний
- •5.3.Представление знаний в виде семантической сети
- •5.4. Фреймовая модель представления знаний
- •5.5. Логическая (предикатная) модель представления знаний
- •6.Моделирование предметных областей в экономике
- •6.1.Понятие модели предметной области
- •6.2.Структурная модель предметной области
- •6.2.1.Функциональная методология idef0
- •6.2.2. Функциональная методика потоков данных
- •6.3.Объектная модель предметной области
- •6.4. Сравнение методик моделирования предметной области
- •7.Алгоритмы, наиболее часто использующиеся при обработке информации в эис
- •7.1.Алгоритмы поиска
- •7.1.1.Поиск элемента в неупорядоченном массиве
- •7.1.2.Поиск элемента в упорядоченном массиве.
- •7.1.3.Фонетический поиск
- •7.2.Алгоритмы сортировки
- •7.2.1.Сортировка методом пузырька.
- •7.2.2.Сортировка вставками
- •7.2.3.Сортировка выбором
- •7.2.4.Пирамидальная сортировка
- •7.2.5.Быстрая сортировка.
- •7.2.6.Сортировка слиянием
- •7.3.Поиск на графах
- •7.3.1.Поиск в глубину
- •7.3.2.Поиск в ширину
- •7.4.Топологическая сортировка графа
- •7.5.Сетевое планирование
- •7.5.1.Алгоритм расчета наиболее ранних сроков наступления событий
- •7.5.2.Алгоритм расчета наиболее поздних сроков наступления событий
- •7.5.3.Алгоритм расчета резервов времени.
- •Литература Рекомендуемая основная литература
- •Рекомендуемая дополнительная литература
- •Приложение 1.Форматы штрих-кодов
- •Приложение 2. Коды некоторых стран
3.3.Штриховое кодирование
В настоящее время технологии штрихового кодирования широко распространены в товароучетных системах, в системах контроля доступа, в системах поддерживающих документооборот и др. Существует широкий спектр оборудования и программных средств поддерживающих технологии штрихового кодирования. В данной главе рассмотрим процесс формирования штрих-кодов с помощью готового шрифта.
Для формирования шрих-кодов различных форматов существует множество шрифтов. Наиболее распространенные форматы штрих-кодов приведены в приложении 1. Обычно шрифты штрих-кодов входят в комплект поставки программных продуктов таких как CorelDRAW. Здесь рассмотрим один из шрифтов, который в учебных заведениях может использоваться бесплатно. Данный шрифт разработан Chaos Microsystems Inc. (22-5330 Canotek RoadGloucester, ON, Canada K1J 9C3). Шрифт удовлетворяет требования к символике «ЕАН/ЮпиСи», определенным ГОСТ Р 51201-98, дата введения 01.01.1999.
Шрифт позволяет сформировать наиболее распространенный американский универсальный товарный код UPC и код в европейской системе кодирования EAN. Формирование может осуществляться вручную или через программное обеспечение.
Рассмотрим штрих-коды формата EAN. Коды EAN могут состоять из 13 (EAN-13) или 8 символов (EAN-8). Рассмотрим правила формирования штрих-кода в формате EAN-13 (см.рис.3.7).
Каждому виду изделия присваивается свой номер, состоящий из 13 цифр. Возьмем, к примеру, цифровой код: 5601721110013. Первые две цифры (56) означают страну происхождения (изготовителя или продавца) продукта. Коды стран сведены в приложении 2. Следующие пять (01721) - предприятие-изготовитель. Еще пять (11001) – код товара. Последняя цифра (3) - контрольная, используемая для проверки правильности считывания штрихов сканером.
Возможен также вариант, когда для кода страны-изготовителя отводится три знака, а для кода предприятия - четыре.
Нередко на товаре можно увидеть надпись, например: «Сделано в Голландии», а код, нанесенный на этикетку, этой стране не соответствует. Тут причин может быть несколько. Первая: фирма была зарегистрирована и получила код не в своей стране, а в той, куда направлен основной экспорт ее продукции. Вторая: товар был изготовлен на дочернем предприятии. Третья: возможно, товар был изготовлен в одной стране, но по лицензии фирмы из другой страны. И, наконец, четвертая, когда учредителями предприятия становятся несколько фирм из различных государств.
Пять символов, задающие код товара имеют следующий смысл:
1 – код наименования товара,
2 – код потребительских свойств,
3 – код размера, масса,
4 – код ингредиентов,
5 – код цвета.
Алгоритм расчета контрольного разряда ean
Для расчета контрольного разряда в EAN-8, EAN-13 и EAN-14 (ITF-14), включая и американские коды UPC-A и UPC-E, используется один и тот же алгоритм вычислений («по модулю 10»):
Пронумеровать все разряды справа налево (например, от 1 до 13 для EAN-13), начиная с позиции контрольного разряда (1-й).
ШАГ 1: Начиная со 2-го сложить значения всех ЧЕТНЫХ разрядов.
ШАГ 2: Полученную сумму умножить на 3.
ШАГ 3: Начиная с 3-го сложить значения всех НЕЧЕТНЫХ разрядов.
ШАГ 4: Сложить результаты, полученные во 2 и 3 шагах.
ШАГ 5: Значение контрольного разряда является наименьшим числом, которое в сумме с величиной, полученной в шаге 4, дает число, кратное 10.
Все недоразумения при расчетах возникают, как правило, по причине того, что многие неосознанно неправильно нумеруют разряды слева направо. При нумерации СПРАВА НАЛЕВО нет разницы в порядке расчета контрольного разряда С для 8, 12, 13 или 14-разрядного кода.
Рассмотрим пример расчета контрольного разряда С для кода 560172111001С (формат EAN-13).
Шаг 1. Сложить цифры, стоящие на четных местах: 6+1+2+1+0+1=11,
Шаг 2. Полученную сумму умножить на 3: 11*3=33,
Шаг 3. Сложить цифры, стоящие на нечетных местах, без контрольной цифры: 5+0+7+1+1+0=14,
Шаг 4. Сложить числа, полученные при выполнении 2 и 3 шагов: 33+14=47,
Шаг 5. Отбросить десятки: получим 7, из 10-7=3.
Итак, после расчета контрольного разряда получим код 5601721110013.
Если полученная после расчета цифра не совпадает с контрольной цифрой в штрих-коде, это значит, что товар произведен незаконно.
Теперь рассмотрим, как формировать графическое изображение штрих-кода в формате EAN-13 с помощью выбранного шрифта. В штрих-коде выделяют следующие составляющие (см. рис.3.8):
First Flag – графическое изображение первого левого символа,
Second Flag – графическое изображение второго левого символа,
Left Hand – графическое изображение пяти следующих левых символов (левая часть графического изображения штрих-кода),
CENTER – графическое изображение символа, разделяющего левую и правую часть графического изображения штрих-кода (центральный символ),
Right Hand – графическое изображение пяти правых символов (правая часть графического изображения штрих-кода),
Check character – графическое изображение самого правого символа (контрольного символа).
Для формирования графического изображения штрих кода используется таблица 3.2. Названия колонок таблицы соответствуют перечисленным составляющим штрих-кода. В каждой затемненной клетке таблицы с номером (i,j) содержится символ и в скобках его ASCII код. Если данный символ напечатать в выбранном штрих-кодовом шрифте, то его изображение будет соответствовать графическому изображению цифры i. Номер столбца таблицы - j выбирается в зависимости от того, в какую графическую составляющую входит цифра i.
Отметим, что в таблице содержится две колонки Left Hand: Left Hand A и Left Hand B. Кроме этого в таблице присутствует группа колонок Data Characters. В этой группе колонок содержится пятисимвольная маска, определяющая правила формирования левой части графического изображения штрих-кода. Графическое изображение текущего левого символа штрих-кода выбирается из колонки Left Hand A или Left Hand B в зависимости от того, чему равен (A или B) соответствующий символ маски. Маска определяется исходя из первого символа (First Flag) штрих-кода. Если первый символ i, то маска находится в i-ой строке таблицы 3.2.
Таблица 3.2 |
|||||||||||
Данные для формирования графического изображения штрих кода |
|||||||||||
Символ штрих-кода |
First Flag |
Second Flag |
Left Hand A |
Left Hand B |
Right Hand |
Check character |
Data Characters |
||||
1 |
2 |
3 |
4 |
5 |
|||||||
Символ (код ASCII), определяющий графическое изображение символа штрих-кода |
|||||||||||
0 |
!(33) |
` (96) |
0 (48) |
@(64) |
P(80) |
p(112) |
A |
A |
A |
A |
A |
1 |
«(34) |
a(97) |
1(49) |
A(65) |
Q(81) |
q(113) |
A |
B |
A |
B |
B |
2 |
#(35) |
b(98) |
2(50) |
B(66) |
R(82) |
r(114) |
A |
B |
B |
A |
B |
3 |
$(36) |
c(99) |
3(51) |
C(67) |
S(83) |
s(115) |
A |
B |
B |
B |
A |
4 |
%(37) |
d(100) |
4(52) |
D(68) |
T(84) |
t(116) |
B |
A |
A |
B |
B |
5 |
& (38) |
e(101) |
5(53) |
E(69) |
U(85) |
u(117) |
B |
B |
A |
A |
B |
6 |
' (39) |
f(102) |
6(54) |
F(70) |
V(86) |
v(118) |
B |
B |
B |
A |
A |
7 |
( (40) |
g(103) |
7(55) |
G(71) |
W(87) |
w(119) |
B |
A |
B |
A |
B |
8 |
) (41) |
h(104) |
8 (56) |
H(72) |
X(88) |
x(120) |
B |
A |
B |
B |
A |
9 |
*(42) |
i(105) |
9(57) |
I(73) |
Y(89) |
y(121) |
B |
B |
A |
B |
A |
|
|(124) – CENTER |
|
Рассмотрим подробнее правила формирования графического изображения штрих-кода. Пусть требуется получить графическое изображение штрих-кода 2001234567893.
Первый символ рассматриваемого штрих-кода равен 2. Графическое изображение 2 кодирует символ # (код ASCII 35). Маска в этом случае равна АВВАВ.
Второй символ равен 0. Графическое изображение 0 кодирует символ ` (код ASCII 96).
Далее в рассматриваемом штрих-коде идут пять символов левой части 01234. Выбор символов, кодирующих их графическое изображение осуществляется исходя из символов маски М.
Так первый символ маски М равен А. Следовательно графическое изображение первого символа левой части, т.е. графическое изображение 0 кодирует символ 0 (код ASCII 48) взятый из соответствующей строки колонки Left Hand A.
Второй символ маски М равен В. Следовательно графическое изображение 1 (второго символа левой части) кодирует символ A (код ASCII 65) взятый из соответствующей строки колонки Left Hand B.
Аналогично получим, что графическое изображение 2 кодирует символ B(66), 3 – 3(51), 4 – D(68).
Итак, мы получили последовательность символов #`0AB3D, кодирующую First Flag, Second Flag и Left Hand части графического изображения рассматриваемого штрих-кода.
Далее включаем в эту последовательность символ, кодирующий графическое изображение разделителя CENTER. Это всегда символ | (код ASCII 124).
После этого переходим к кодированию правой части (Right Hand) графического изображения штрих-кода. Кодирование правой части в отличие от кодирования левой части не зависит от маски.
В рассматриваемом штрих-коде правая часть состоит из символов 56789. Графическое изображение 5 кодирует символ U(85), взятый из соответствующей строки колонки Right Hand.
Аналогично получим, что графическое изображение 6 кодирует символ V(86), 7 – W(87), 8 – X(88), 9 – Y(89).
В завершении кодируем контрольный символ (Check character). В рассматриваемом штрих-коде этот символ равен 3. Графическое изображение 3 кодирует символ s(115), взятый из соответствующей строки колонки Check character.
Итак графическое изображение штрих-кода 2001234567893 кодирует последовательность симолов #`0AB3D|UVWXYs. Само графическое изображение этого штрих-кода представлено на рис.3.9. Алгоритм формирования графического изображения штрих-кода представлен блок-схемой на рис.3.10.