- •Список сокращений
- •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.Некоторые сд для хранения графов и деревьев
- •Вопросы для повторения
- •Резюме по теме
- •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. Нормальные формы
- •Вопросы для повторения
- •Операции над сеи.
- •Операции над отношениями.
- •Резюме по теме
- •5.Модели знаний
- •5.1. Классификация знаний
- •5.2. Продукционная модель представления знаний
- •5.3.Представление знаний в виде семантической сети
- •5.4. Фреймовая модель представления знаний
- •5.5. Логическая (предикатная) модель представления знаний
- •Классификация знаний.
- •6.2.Структурная модель предметной области
- •6.2.1.Функциональная методология idef0
- •6.2.2. Функциональная методика потоков данных
- •6.3.Объектная модель предметной области
- •6.4. Сравнение методик моделирования предметной области
- •Вопросы для повторения
- •Понятие модели предметной области.
- •Резюме по теме
- •Литература Рекомендуемая основная литература
- •Рекомендуемая дополнительная литература
- •Задачник Введение
- •Краткое изложение используемых методов решения и основных теоретических положений
- •Примеры решения типовых задач
- •Задачи для самостоятельного решения
- •Практикум (лабораторный) Лабораторная работа №1. Кодирование информации
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Понятие информации.
- •Способ оценки результатов
- •Пример выполнения работы
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Список индивидуальных данных
- •Пример выполнения работы
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
2.3.Кодирование информации
Преобразование сообщения в код называют кодированием информации. Такое преобразование осуществляется по определенному правилу (алгоритму). Множество различных кодовых комбинаций, получают при данном правиле кодирования, называют кодом.
2.3.1.Оптимальное основание кода
Важными характеристиками кода являются основание ( ) и длина ( ) кода. Под основанием кода понимается число возможных значений, которые могут принимать элементы (символы, буквы) кодовой комбинации (слова), а под длиной - число элементов в этой комбинации.
Например
для кодирования сигнала, уровень которого
изменяется от 0 до 10 В, с погрешностью
10 мВ можно предложить различные варианты
выбора
и
:
1)
=1000,
=1;
2)
=2,
=10
(
)
и т.д.
Для
определения оптимальных значений
и
воспользуемся критерием минимума
произведения
.
Как
было отмечено ранее
,
где
- заданное число сообщений (число
различных комбинаций сигнала).
Логарифмируя, получим
Следовательно,
Используя
формулу
,
получим
Условие
минимума
примет вид:
Воспользовавшись
тождествами
,
,
,
,
получим
.
Далее,
используя тождество
,
окончательно получим
Из
последнего тождества следует, что
оптимальное значение
Т.к.
должно быть целое, то оптимальным
значением
является 3 или 2. На практике чаще
используется основание кода
.
2.3.2.Запись натурального числа в двоичной системе
Примером
двоичного кода является запись
натурального числа
в позиционной системе счисления с
основанием 2
Пусть
- последовательность двоичных кодовых
слов длины
.
Тогда рекурсивное
определение последовательности кодовых
слов в порядке двоичного счета будет
следующее:
Наиболее прямым способом порождения данной последовательности кодовых слов является счет в системе счисления с основанием 2, что реализует алгоритм, представленный укрупненной блок-схемой на рис.2.2.
Укрупненная блок-схема показывает идеи алгоритма и не расскрывает многие детали реализации. В рассматриваемом алгоритме из укрупненной блок-схемы видно, что двоичные наборы длины n формируются в ячейках B[n-1],B[n-2],...,B[0], массива B. Ячейка B[n] массива B служит для организации завершения работы алгоритма. Ячейка B[n] принимает значение 1, когда все 2n наборов выданы. Также видно, что для реализации двоичного счета, т.е. для организации перехода от текущего кодового слова к следующему, используется простой прием:
просматривается текущее кодовое слово в направлении от младшего разряда к старшему с целью поиска первого разряда, равного нулю (на укрупненной блок-схеме номер такого разряда сохраняется в переменной i);.
найденному первому разряду, равному нулю, присваивается значение 1, а все «более младшие» разряды, значение которых равно 1, обнуляются.
Однако из укрупненной блок схемы не видны детали реализации перехода от текущего кодового слова к следующему. Обычно подобная детализация не вызывает трудностей.
В некоторых случаях будем приводить детальные блок-схемы алгоритмов. Поскольку алгоритм порождения кодовых слов в порядке двоичного счета является первым рассматриваемым нами алгоритмом, то приведем его детальную блок-схему. Детальная блок-схема алгоритма представлена на рис. 2.3.
Еще один способ порождения последовательности кодовых слов в порядке двоичного счета заключается в переборе всех целых чисел от 0 до 2n-1 и обращением двоичного представления каждого из чисел в набор (bn-1,bn-2,...,b0). Обращение осуществляется с помощью битовых операций или с помощью операций целочисленного деления и получения остатка от деления.
Укрупненная блок схема алгоритма реализующего данный подход показана на рис.2.4.
