- •552800 И 654600 - Информатика и вычислительная техника
- •Введение
- •Часть 1. Информатика и современное общество
- •1. Информатизация общества и информатика
- •1.1. Информационное общество
- •1.2. Понятие информатики
- •Средства для преобразования информации
- •Часть 2. Информация, ее представление и измерение
- •2. Информация
- •2.1. Понятие и характерные черты информации
- •2.2. Классификация информации
- •2.3. Свойства информации
- •3. Сигнал как материальный носитель информации
- •3.1. Виды сигнала
- •3.2. Преобразования сигнала
- •3.3. Системы счисления
- •3.3.1. Правила перевода чисел из одной системы счисления в другую
- •3.3.1.1. Правила перевода целых чисел
- •3.3.1.2. Правила перевода правильных дробей
- •3.3.1.3. Правило перевода дробных чисел
- •3.3.2. Правила выполнения простейших арифметических действий
- •3.3.2.1. Правила сложения
- •3.3.2.2. Правила вычитания
- •3.3.2.3. Правила умножения
- •3.3.2.4. Правила деления
- •4. Кодирование дискретного сигнала
- •4.1. Кодирование по образцу
- •4.1.1. Прямые коды
- •4.1.2. Ascii-коды
- •4.1.3. Коды, учитывающие частоту информационных элементов
- •4.1.4. Коды Грея
- •4.1.5. Код Штибица
- •4.2. Криптографическое кодирование
- •4.2.1. Метод простой подстановки
- •4.2.2. Метод Вижинера
- •4.3. Эффективное кодирование
- •4.3.1. Метод Шеннона-Фано
- •4.3.2. Метод Хаффмена
- •4.3.3. Повышение эффективности кодирования
- •4.3.4. Декодирование эффективных кодов
- •4.3.5. Специальные методы эффективного кодирования
- •4.3.5.1. Методы эффективного кодирования числовых последовательностей
- •4.3.5.2. Методы эффективного кодирования словарей
- •Основной вспомогательный
- •4.3.5.3. Методы эффективного кодирования естественно-языковых текстов
- •4.4. Помехозащитное кодирование
- •4.4.1. Искажение кодовых комбинаций
- •4.4.2. Кодовое расстояние и корректирующая способность кода
- •4.4.3. Коды, исправляющие ошибки
- •5. Измерение информации
- •5.1. Структурный подход к измерению информации
- •5.1.1. Геометрическая мера
- •5.1.2. Комбинаторная мера
- •5.1.3. Аддитивная мера
- •5.2. Статистический подход к измерению информации
- •5.3. Взаимосвязь структурного и статистического подходов к измерению информации
- •5.4. Семантический подход к измерению информации
- •5.4.1. Целесообразность информации
- •5.4.2. Полезность информации
- •5.4.3. Истинность информации
- •6. Качество информации
- •Часть 3. Компьютер как основной элемент информационного процесса
- •7. Структура компьютера и принципы его функционирования
- •8. Виды современных компьютеров
- •9. Структурные элементы компьютера
- •9.1. Память
- •9.1.1. Внутренняя память
- •9.1.2. Внешняя память
- •9.1.2.1. Физическая и логическая структура магнитных дисков
- •9.2. Устройство управления
- •9.3. Арифметико-логическое устройство
- •9.3.1. Структура и принцип действия
- •9.3.2. Формы представления числовых данных
- •9.3.2.1. Формы представления целых чисел
- •9.3.2.2. Формы представления вещественных чисел
- •9.3.3. Коды представления числовых данных
- •9.3.4. Принципы выполнения арифметической операции сложения
- •9.3.4.1. Сложение целых чисел
- •9.3.4.2. Сложение вещественных чисел
- •10. Виды программного обеспечения компьютера
- •Инструментарий технологии программирования.
- •10.1. Системное программное обеспечение
- •Системное по базовое по сервисное по (утилиты) операционные системы операционные оболочки
- •10.2. Пакеты прикладных программ
- •10.3. Инструментарий технологии программирования
- •Инструментарий технологии программирования
- •11. Поколения эвм
- •12. Технология проектирования программ
- •12.1. Формализация задачи
- •12.2. Программирование задачи
- •12.2.1. Разработка алгоритма
- •12.2.1.1. Способы описания алгоритма
- •12.2.1.2. Методы проектирования алгоритмов
- •12.3. Отладка программы
- •13. Эволюция использования компьютеров. Проект эвм пятого поколения
- •Часть 4. Фазы обращения информации
- •14. Структура информационного процесса
- •15. Сбор информации
- •15.1. Методы классификации
- •15.1.1. Иерархическая классификация
- •15.1.2. Фасетная классификация
- •15.2. Методы кодирования
- •15.3. Распознавание и кодирование объектов
- •15.4. Регистрация информации
- •16. Восприятие информации
- •16.1. Сканер как устройство восприятия информации
- •16.1.1. Первичное восприятие и измерение информации
- •16.1.2. Анализ результатов первичного восприятия и измерения
- •16.1.3. Распознавание символов
- •16.2. Восприятие информации клавиатурой
- •16.2.1. Первичное восприятие и измерение
- •16.2.2. Анализ
- •16.2.3. Распознавание
- •17. Передача информации
- •17.1. Модуляция и демодуляция сигнала
- •17.2. Уплотнение сигнала и выделение уплотненного сигнала
- •17.4. Компьютерные сети
- •17.4.1. Топология сетей
- •17.4.2. Методы передачи данных в сетях
- •17.4.3. Организация обмена информацией в сети
- •18. Обработка информации
- •19. Представление информации
- •19.1. Устройства вывода на электронный носитель
- •19.1.1. Мониторы, использующие элт
- •19.1.2. Жидкокристаллические мониторы
- •19.1.3. Плазменные мониторы
- •19.1.4. Технология вывода изображений на мониторы, использующие элт
- •19.1.4.1. Принципы организации текстовых видеорежимов
- •19.1.4.2. Принципы организации графических видеорежимов
- •19.2. Устройства вывода на бумажный носитель
- •19.2.1. Технология формирования цвета
- •19.2.2. Матричные принтеры
- •19.2.3. Струйная технология
- •19.2.4. Термическая технология
- •19.2.5. Электрографическая технология
- •Приложение 1. Определения информатики
- •Приложение 2. Определения информации
- •Приложение 3. Положения комбинаторики, используемые в измерении информации
- •Список литературы
- •Оглавление
- •Часть 1. Информатика и современное общество 6
- •Часть 2. Информация, ее представление и измерение 11
- •Часть 3. Компьютер как основной элемент информационного процесса 81
- •Часть 4. Фазы обращения информации 154
4.1.5. Код Штибица
Для внутреннего представления отрицательного числа -х в информатике традиционно используется дополнительный код, который облегчает выполнение арифметических операций над отрицательными числами (это будет рассмотрено далее).
Код Штибица (или код плюс-3) используется для кодирования десятичных чисел для простого перехода от двоичного значения числа к его дополнению.
Для построения кода Штибица используется понятие прямого целочисленного эквивалента двоичного кода – это десятичное число, соответствующее двоичному коду. Тогда код Штибица – это сдвинутый на 3 прямой код: чтобы получить представляемое данным двоичным кодом число, надо из прямого целочисленного эквивалента вычесть 3.
В табл. 4.5 приведены значения кода Штибица для десятичных цифр (для сравнения также указан их прямой код).
Таблица 4.5
Исходная цифра |
Прямой код |
Код Штибица |
0 |
0000 |
0011 |
1 |
0001 |
0100 |
Продолжение табл. 4.5 |
||
2 |
0010 |
0101 |
3 |
0011 |
0110 |
4 |
0100 |
0111 |
5 |
0101 |
1000 |
6 |
0110 |
1001 |
7 |
0111 |
1010 |
8 |
1000 |
1011 |
9 |
1001 |
1100 |
В этом коде используется понятие взаимно дополнительных пар чисел: это такие числа, при сложении двоичных значений которых получается двоичное число, состоящее только из единиц. Примером таких пар чисел могут служить 0 и 9, 1 и 8 и т.д.
4.2. Криптографическое кодирование
В качестве символов кодирования могут использоваться как символы произвольного алфавита, так и двоичные коды.
4.2.1. Метод простой подстановки
Простейшим случаем такого кодирования является простая подстановка: каждому исходному символу ставится в соответствие произвольный символ кодирования из какого-либо другого алфавита или из исходного – получается таблица соответствия. Тогда в кодируемом сообщении выполняется замена символов в соответствии с полученной таблицей.
Пример 4.3. Пусть исходным является русский алфавит. Составим упомянутую таблицу соответствия, используя служебные символы, знаки препинания и знаки арифметических действий из таблицы ASCII-кодов в качестве кодового алфавита (см. рис. 4.1):
А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я Ь Ъ Ы
! № $ % & * ( ) { } [ ] - | = ” ’ ~ ` : ; _ < > ^ ? ¤
Тогда сообщение ИНФОРМАТИКА будет закодировано как }=_”~|!:}]! .
Данный метод кодирования является ненадежным, так как при достаточно большой выборке закодированных сообщений при известных частотах символов исходного алфавита (это уже обсуждалось выше) можно с определенной долей погрешности выполнить декодирование. В самом деле, пусть есть представительная выборка закодированных русскоязычных сообщений, общее число букв в которых равно M, и известны частоты букв русского алфавита (табл. 4.6).
Таблица 4.6
Буква |
Частота |
Буква |
Частота |
Буква |
Частота |
о |
0,090 |
м |
0,026 |
й |
0,010 |
е (ё) |
0,072 |
д |
0,025 |
х |
0,009 |
а |
0,062 |
п |
0,023 |
ж |
0,007 |
и |
0,062 |
у |
0,021 |
ю |
0,006 |
т |
0,053 |
я |
0,018 |
ш |
0,006 |
н |
0,053 |
ы |
0,016 |
ц |
0,004 |
с |
0,045 |
з |
0,016 |
щ |
0,003 |
р |
0,040 |
ь,ъ |
0,014 |
э |
0,003 |
в |
0,038 |
б |
0,014 |
ф |
0,001 |
л |
0,035 |
г |
0,013 |
пробелы и знаки препинания |
0,175 |
к |
0,028 |
ч |
0,012 |
|
|
М
(4.2)
где mS – количество символов s в сообщениях.
Тогда получив частоты и сопоставив их с табл. 4.6, можно определить исходный текст.
Пример 4.4. Пусть есть закодированное сообщение из примера 4.3: }=_”~|!:}]!. Известно, что до кодирования оно было составлено из букв русского алфавита. Требуется декодировать его, используя в качестве представительной выборки закодированных русскоязычных текстов настоящее учебное пособие, предварительно выполнив все замены русских букв символами из таблицы соответствия примера 4.3.
Воспользуемся встроенными средствами текстового процессора WINWORD для определения требуемых статистических данных.
Так определим, что общее число символов М в учебном пособии на момент подготовки данного примера составляет 275979 символов.
Определяем, сколько раз встречаются интересующие нас символы из закодированного сообщения - ms (см. таблицу ниже). Это позволяет рассчитать частоты символов fs по формуле (4.2) (см. таблицу ниже). Сопоставим полученные данные с табл. 4.6. Наиболее близкие по значению символы для полученных частот сведены в таблицу:
символ s |
} |
= |
_ |
“ |
~ |
| |
! |
: |
] |
ms |
18716 |
14396 |
1436 |
22027 |
12058 |
8503 |
16835 |
13426 |
6592 |
fs |
0,068 |
0,052 |
0,005 |
0,078 |
0,044 |
0,031 |
0,061 |
0,049 |
0,024 |
подходящий символ из табл. 4.6 |
е, а, и |
т, н |
ю, ш, ц |
е, о |
с, р |
л, к |
а, и |
т, н, с |
д, п |
Таким образом, кодовые символы из закодированного сообщения могут быть заменены символами из соответствующего множества:
} = _ ” ~ | ! : } ] ! кодовые
символы
{е,а,и} {т,н} {ю,ш,ц} {е,о} {с,р} {л,к} {а,и} {т,н,с} {е,а,и} {д,п} {а,и} символы для замены
Если построить все возможные сочетания символов из указанных множеств, там будет, в частности и сочетание вида и н * о р * а т и * а, где знак * означает любой символ из соответствующего определенного выше множества исходных символов (в случае * декодирование, очевидно, выполнено неверно). Если предъявить полученную строку человеку или автомату, способному распознать русское слово, зашифрованное сообщение можно считать декодированным.
Очевидно, декодирование также возможно при известной таблице соответствия.