русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Информация и кодирование


Дата добавления: 2015-08-14; просмотров: 1191; Нарушение авторских прав


Титов В.К.

Информатика. Глава: Кодирование.

Информация и кодирование

Мы живем в мире информации. Все, что мы видим, слышим, читаем, все, что мы знаем, помним, понимаем, все это информация. Информация может передаваться через речь, через различные средства связи (почта, электросеть, радио, телефон, телевидение и др.). Передаваемую информацию называют сообщением. Сообщения передаются при помощи сигналов. Сигнал называется дискретным, если он принадлежит некоторому конечному множеству сигналов (или, можно сказать, дискретный сигнал принимает конечное множество значений). Часто, дискретные сигналы называют знаками (знаками могут быть звуки языка, изображения, имеющие определенный смысл, жесты, обозначающие что-то). Сообщение называется дискретным, если оно может быть передано с помощью дискретных сигналов (знаков). Сообщения можно хранить на носителях информации (на бумаге, на дисках, на других носителях). Хранение информации можно считать долгосрочной передачей ее во времени. Знаки, из которых состоит хранимое сообщение, называют символами. А конкретное хранимое сообщение, состоящее из символов, называют записью.

Набор знаков (символов), используемый для конкретного хранения или передачи информации, в котором определен линейный порядок знаков, называется алфавитом.

Символы алфавита иногда называют буквами. Наборы символов (букв) конкретного алфавита называют словами. Например, пусть задан алфавит A = {a,b,c}, тогда baabaca является словом над алфавитом A. Пусть теперь A - произвольный конечный алфавит, обозначим через A*множество всех слов над алфавитом A. Естественно, множество A* бесконечно. Обозначим через A+ произвольное конечное подмножество множества A*.

Пусть S = {s1,s2, …, sn} - некоторое произвольное конечное множество (например, множество конкретных информационных объектов, например, сообщений). Пусть задана функция F, отображающая множество S в множество слов A+ над алфавитом A, то есть F: S → A+. Такая функция F называется кодированием элементов множества S в слова над алфавитом A. Если элемент s множества S при кодировании F отобразился, например, в слово baabacaнад алфавитом A, то будем писать F: s → baabaca, или F(s)= baabaca.



Правило, описывающее отображение F называется кодом. Кодом также называют и множество образов при этом отображении. Кодом конкретного элемента s будем называть слово F(s). Так как S и A+ конечные множества, то функцию F можно описать таблично:

s1 → A1

s2 → A2

…………

sn → An

где A1, A2, … An - некоторые слова над алфавитом A.

Это табличное описание кодирования F и будет его кодом. Кодом в этом случае будем называть и сам набор слов (A1, A2, … An),а сами эти слова будем называть кодовыми словами. Если алфавит A состоит всего из двух букв (то есть │A│= 2), то соответствующее кодирование F называется двоичным кодированием. Обычно в этом случае буквы алфавита A обозначаются цифрами 0 и 1. Кодовыми словами при таком кодировании будут наборы из 0 и 1.

Получаемая при кодировании последовательность кодовых слов, которые обычно записываются подряд без разделения пробелом или специальным разделяющим символом (то есть слитная запись последовательности), называется кодовой последовательностью. Разделяющие символы, если они применяются при кодировании (как например, в азбуке Морзе, см. ниже), считаются обычными символами алфавита A (алфавита кодовых слов) и должны присоединяться к кодовым словам, а сама кодовая последовательность рассматривается как непрерывная последовательность символов.

Обратное преобразование по отношению к F называется декодированием, и обозначается F-1. Чтобы декодирование было однозначным, необходимо, чтобы

│S │= n ≤ │A+ и все кодовые слова были различны. Обозначим множество всех кодовых слов K, тогда существование взаимно-однозначного соответствия между S и K, определяемого функцией F (F: S↔K, │K│= n), является необходимым условием однозначности декодирования, но, к сожалению, оно не является достаточным. Как мы далее узнаем, проблемы при декодировании могут возникать, когда кодовую последовательность приходится разбивать на кодовые слова. Такое разбиение кодовой последовательности не всегда однозначно.

Иногда кодирование называют шифрованием, а декодирование – дешифрованием, соответственно, код называют шифром. Такая терминология в основном используется в криптографии, где изучаются методы кодирования секретной, конфиденциальной информации, которые обеспечивают невозможность расшифровки без знания шифра.

Пусть теперь S - некоторый алфавит, для букв которого определено кодирование F в слова над алфавитом A. Тогда можно говорить о кодировании слов над алфавитом S при помощи функции F. Такое кодирование называется алфавитным (или побуквенным). Функция F распространяется на слова над S следующим образом: кодом слова X при кодировании F будет слитное написание кодов каждой буквы слова X. Например, пусть X = abcd, тогда F(X)=F(a)F(b)F(c)F(d) , где справа стоит кодовая последовательность, полученная кодированием слова X, и состоит из букв кодов каждой буквы X, записанных подряд.

 



<== предыдущая лекция | следующая лекция ==>
Задачи для самостоятельного решения | Равномерные и неравномерные коды.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.