минимальная длина равномерных двоичных кодов для букв русского алфавита 33 буквы равна
Урок 3
§5. Дискретное кодирование
Содержание урока
Равномерные коды
Равномерные коды
Если нам нужно записать в память компьютера какой-то текст на русском языке, его нужно представить в виде двоичного кода, т. е. перекодировать.
Например, перекодируем слово ГАГАРА в двоичный алфавит, считая, что в тексте есть только буквы «А», «Г» и «Р», т. е. алфавит состоит из трёх знаков. Присвоим каждой из этих букв двоичные коды — кодовые слова (рис. 2.5).
Закодируйте с помощью этого кода слово ГАГАРА.
Такой код называется равномерным, потому что длина всех кодовых слов одинакова.
Равномерный код — это код, в котором все кодовые слова имеют одинаковую длину.
Теперь предположим, что по компьютерной сети передана цепочка
000010000100000010000100
Известно, что для кодирования использовалась таблица, показанная на рис. 2.5, и нам нужно узнать, какое сообщение было закодировано. Эта операция называется декодированием.
Декодирование — это восстановление исходного сообщения из кода.
Сообщение 000010000100000010000100 закодировано с помощью равномерного кода, приведённого на рис. 2.5. Определите, сколько знаков было в исходном сообщении. Как вы рассуждали? Декодируйте это сообщение.
Равномерный 5-битный двоичный код, разработанный в конце XIX века Жаном Морисом Бодо, использовался в телеграфных аппаратах. В современных компьютерных системах при передаче текстовых сообщений также часто применяют равномерный (8-битный или 16-битный) код.
Можно ли было для кодирования букв «А», «Г», «Р» использовать более короткий равномерный код? Определите наименьшую возможную длину кодовых слов.
Если для кодирования используется алфавит мощностью M, то с помощью кодовых слов длиной L можно закодировать M L различных знаков. Это число должно быть не меньше, чем мощность алфавита исходного сообщения M0, потому что иначе какие-то буквы обязательно получат одинаковые коды.
Длину кодовых слов L выбирают из условия M L ≥ M0, где М0 — мощность алфавита исходного сообщения и М — мощность нового алфавита.
Как выбрать наименьшую возможную длину кодовых слов при равномерном кодировании?
В сообщении используются 33 русские прописные буквы и пробел. Определите наименьшую длину кодовых слов для равномерного кодирования этого сообщения в трёхбуквенном и четырёхбуквенном алфавитах.
Следующая страница Неравномерные коды
Cкачать материалы урока
Минимальная длина равномерных двоичных кодов для букв русского алфавита 33 буквы равна
На этом шаге мы рассмотрим равномерное алфавитное двоичное кодирование; байтовый код.
Iвер Iоб
Именно байт принят в качестве единицы измерения количества информации в международной системе единиц СИ. 1 байт = 8 бит. Наряду с байтом для измерения количества информации используются более крупные производные единицы:
1 Кбайт = 2 10 байт = 1024 байт (килобайт)
1 Мбайт = 2 20 байт = 1024 Кбайт (мегабайт)
1 Гбайт = 2 30 байт = 1024 Мбайт (гигабайт)
1 Тбайт = 2 40 байт = 1024 Гбайт (терабайт)
Использование 8-битных цепочек позволяет закодировать 2 8 =256 символов, что превышает оцененное выше N и, следовательно, дает возможность употребить оставшуюся часть кодовой таблицы для представления дополнительных символов.
Вторая часть кодовой таблицы – онасчитается расширением основной – охватывает коды в интервале от 128 до 255 (первый бит всех кодов 1). Она используется для представления символов национальных алфавитов (например, русского или греческого), а также символов псевдографики. Для этой части также имеются стандарты, например, для символов русского языка это КОИ–8, КОИ–7 и др.
Как в основной таблице, так и в ее расширении коды букв и цифр соответствуют их лексикографическому порядку (т.е. порядку следования в алфавите) – это обеспечивает возможность автоматизации обработки текстов и ускоряет ее.
Содержание урока
Равномерные коды
Равномерные коды
Если нам нужно записать в память компьютера какой-то текст на русском языке, его нужно представить в виде двоичного кода, т. е. перекодировать.
Например, перекодируем слово ГАГАРА в двоичный алфавит, считая, что в тексте есть только буквы «А», «Г» и «Р», т. е. алфавит состоит из трёх знаков. Присвоим каждой из этих букв двоичные коды — кодовые слова (рис. 2.5).
Закодируйте с помощью этого кода слово ГАГАРА.
Такой код называется равномерным, потому что длина всех кодовых слов одинакова.
Равномерный код — это код, в котором все кодовые слова имеют одинаковую длину.
Теперь предположим, что по компьютерной сети передана цепочка
000010000100000010000100
Известно, что для кодирования использовалась таблица, показанная на рис. 2.5, и нам нужно узнать, какое сообщение было закодировано. Эта операция называется декодированием.
Декодирование — это восстановление исходного сообщения из кода.
Сообщение 000010000100000010000100 закодировано с помощью равномерного кода, приведённого на рис. 2.5. Определите, сколько знаков было в исходном сообщении. Как вы рассуждали? Декодируйте это сообщение.
Равномерный 5-битный двоичный код, разработанный в конце XIX века Жаном Морисом Бодо, использовался в телеграфных аппаратах. В современных компьютерных системах при передаче текстовых сообщений также часто применяют равномерный (8-битный или 16-битный) код.
Можно ли было для кодирования букв «А», «Г», «Р» использовать более короткий равномерный код? Определите наименьшую возможную длину кодовых слов.
Если для кодирования используется алфавит мощностью M, то с помощью кодовых слов длиной L можно закодировать M L различных знаков. Это число должно быть не меньше, чем мощность алфавита исходного сообщения M0, потому что иначе какие-то буквы обязательно получат одинаковые коды.
Длину кодовых слов L выбирают из условия M L ≥ M0, где М0 — мощность алфавита исходного сообщения и М — мощность нового алфавита.
Как выбрать наименьшую возможную длину кодовых слов при равномерном кодировании?
В сообщении используются 33 русские прописные буквы и пробел. Определите наименьшую длину кодовых слов для равномерного кодирования этого сообщения в трёхбуквенном и четырёхбуквенном алфавитах.
Следующая страница Неравномерные коды
Cкачать материалы урока
Информатика. 7 класс
Конспект урока
Кодирование информации. Двоичный код
Перечень вопросов, рассматриваемых в теме:
Дискретизация информации – процесс преобразования информации из непрерывной формы представления в дискретную. Чтобы представить информацию в дискретной форме, её следует выразить с помощью символов какого-нибудь естественного или формального языка.
Алфавит языка – конечный набор отличных друг от друга символов, используемых для представления информации. Мощность алфавита – это количество входящих в него символов.
Алфавит, содержащий два символа, называется двоичным алфавитом. Представление информации с помощью двоичного алфавита называют двоичным кодированием. Двоичное кодирование универсально, так как с его помощью может быть представлена любая информация.
1. Босова Л. Л. Информатика: 7 класс. // Босова Л. Л., Босова А. Ю. – М.: БИНОМ, 2017. – 226 с.
Теоретический материал для самостоятельного изучения
Для решения своих задач человеку часто приходится преобразовывать имеющуюся информацию из одной формы представления в другую. Например, при чтении вслух происходит преобразование информации из дискретной (текстовой) формы в непрерывную (звук). Во время диктанта на уроке русского языка, наоборот, происходит преобразование информации из непрерывной формы (голос учителя) в дискретную (записи учеников).
Информация, представленная в дискретной форме, значительно проще для передачи, хранения или автоматической обработки. Поэтому в компьютерной технике большое внимание уделяется методам преобразования информации из непрерывной формы в дискретную.
Дискретизация информации – процесс преобразования информации из непрерывной формы представления в дискретную.
Рассмотрим суть процесса дискретизации информации на примере.
На метеорологических станциях имеются самопишущие приборы для непрерывной записи атмосферного давления. Результатом их работы являются барограммы – кривые, показывающие, как изменялось давление в течение длительных промежутков времени. Одна из таких кривых, вычерченная прибором в течение семи часов проведения наблюдений, показана на рисунке 1.
На основании полученной информации можно построить таблицу, содержащую показания прибора в начале измерений и на конец каждого часа наблюдений.
Полученная таблица даёт не совсем полную картину того, как изменялось давление за время наблюдений: например, не указано самое большое значение давления, имевшее место в течение четвёртого часа наблюдений. Но если занести в таблицу значения давления, наблюдаемые каждые полчаса или 15 минут, то новая таблица будет давать более полное представление о том, как изменялось давление.
Таким образом, информацию, представленную в непрерывной форме (барограмму, кривую), мы с некоторой потерей точности преобразовали в дискретную форму (таблицу).
В дальнейшем вы познакомитесь со способами дискретного представления звуковой и графической информации.
В общем случае, чтобы представить информацию в дискретной форме, её следует выразить с помощью символов какого-нибудь естественного или формального языка. Таких языков тысячи. Каждый язык имеет свой алфавит.
Алфавит – конечный набор отличных друг от друга символов (знаков), используемых для представления информации. Мощность алфавита – это количество входящих в него символов (знаков).
Алфавит, содержащий два символа, называется двоичным алфавитом (рис. 3). Представление информации с помощью двоичного алфавита называют двоичным кодированием. Закодировав таким способом информацию, мы получим её двоичный код.
Рассмотрим в качестве символов двоичного алфавита цифры 0 и 1. Покажем, что любой алфавит можно заменить двоичным алфавитом. Прежде всего, присвоим каждому символу рассматриваемого алфавита порядковый номер. Номер представим с помощью двоичного алфавита. Полученный двоичный код будем считать кодом исходного символа.
Если мощность исходного алфавита больше двух, то для кодирования символа этого алфавита потребуется не один, а несколько двоичных символов. Другими словами, порядковому номеру каждого символа исходного алфавита будет поставлена в соответствие цепочка (последовательность) из нескольких двоичных символов. Правило получения двоичных кодов для символов алфавита мощностью больше двух можно представить схемой на рисунке.
Двоичные символы (0,1) здесь берутся в заданном алфавитном порядке и размещаются слева направо. Двоичные коды (цепочки символов) читаются сверху вниз. Все цепочки (кодовые комбинации) из двух двоичных символов позволяют представить четыре различных символа произвольного алфавита:
Цепочки из трёх двоичных символов получаются дополнением двухразрядных двоичных кодов справа символом 0 или 1. В итоге кодовых комбинаций из трёх двоичных символов получается 8 – вдвое больше, чем из двух двоичных символов:
Соответственно, четырёхразрядный двоичный код позволяет получить 16 кодовых комбинаций, пятиразрядный – 32, шестиразрядный – 64 и т. д.
Длину двоичной цепочки – количество символов в двоичном коде – называют разрядностью двоичного кода.
Обратите внимание, что:
32 = 2 ∙ 2 ∙ 2 ∙ 2 ∙ 2 и т. д.
Здесь количество кодовых комбинаций представляет собой произведение некоторого количества одинаковых множителей, равного разрядности двоичного кода.
Если количество кодовых комбинаций обозначить буквой N, а разрядность двоичного кода – буквой i, то выявленная закономерность в общем виде будет записана так:
В математике такие произведения записывают в виде:
Запись 2 i читают так: «2 в i-й степени».
Задача. Вождь племени Мульти поручил своему министру разработать двоичный код и перевести в него всю важную информацию. Двоичный код какой разрядности потребуется, если алфавит, используемый племенем Мульти, содержит 16 символов? Выпишите все кодовые комбинации.
Чтобы выписать все кодовые комбинации из четырёх 0 и 1, воспользуемся схемой на рис. 1.13: 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111.
Универсальность двоичного кодирования
В начале нашей беседы вы узнали, что информация, представленная в непрерывной форме, может быть выражена с помощью символов некоторого естественного или формального языка. В свою очередь, символы произвольного алфавита могут быть преобразованы в двоичный код. Таким образом, с помощью двоичного кода может быть представлена любая информация на естественных и формальных языках, а также изображения и звуки (рис. 6). Это и означает универсальность двоичного кодирования.
Двоичные коды широко используются в компьютерной технике, требуя только двух состояний электронной схемы – «включено» (это соответствует цифре 1) и «выключено» (это соответствует цифре 0).
Простота технической реализации – главное достоинство двоичного кодирования. Недостаток двоичного кодирования – большая длина получаемого кода.
Равномерные и неравномерные коды
Различают равномерные и неравномерные коды. Равномерные коды в кодовых комбинациях содержат одинаковое число символов, неравномерные – разное.
Выше мы рассмотрели равномерные двоичные коды.
Примером неравномерного кода может служить азбука Морзе, в которой для каждой буквы и цифры определена последовательность коротких и длинных сигналов. Так, букве Е соответствует короткий сигнал («точка»), а букве Ш – четыре длинных сигнала (четыре «тире»). Неравномерное кодирование позволяет повысить скорость передачи сообщений за счёт того, что наиболее часто встречающиеся в передаваемой информации символы имеют самые короткие кодовые комбинации.
Разбор решения заданий тренировочного модуля
№1.Тип задания: ввод с клавиатуры пропущенных элементов в тексте
Переведите десятичное число 273 в двоичную систему счисления.
Воспользуемся алгоритмом перевода целых чисел из системы с основанием p в систему с основанием q:
1. Основание новой системы счисления выразить цифрами исходной системы счисления и все последующие действия производить в исходной системе счисления.
2. Последовательно выполнять деление данного числа и получаемых целых частных на основание новой системы счисления до тех пор, пока не получим частное, меньшее делителя.
3. Полученные остатки, являющиеся цифрами числа в новой системе счисления, привести в соответствие с алфавитом новой системы счисления.
4. Составить число в новой системе счисления, записывая его, начиная с последнего остатка.
Ответ: 27310= 100010001.
№2. Тип задания: единичный / множественный выбор.
Четыре буквы латинского алфавита закодированы кодами различной длины:
Минимальная длина равномерных двоичных кодов для букв русского алфавита 33 буквы равна
Для кодирования некоторой последовательности, состоящей из букв И, К, Л, М, Н, решили использовать неравномерный двоичный код, удовлетворяющий условию Фано. Для буквы Л использовали кодовое слово 1, для буквы М – кодовое слово 01. Какова наименьшая возможная суммарная длина всех пяти кодовых слов?
Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений.
Условие Фано — никакое кодовое слово не может быть началом другого кодового слова. Так как уже имеется кодовое слово 1, то никакое другое не может начинаться с 1. Только с 0. Также не может начинаться с 01, поскольку у нас уже есть 01. То есть любое новое кодовое слово будет начинаться с 00. Но это не может быть 00, так как иначе мы не сможем взять больше ни одного кодового слова, поскольку все более длинные слова начинаются либо с 1, либо с 00, либо с 01. Мы можем взять либо 000, либо 001. Но не оба сразу, поскольку опять же в таком случае мы больше не сможем взять ни одного нового кода. Тогда возьмём 001. И так как нам осталось всего два кода, то можем взять 0000 и 0001. Итого имеем: 1, 01, 001, 0000, 0001. Всего 14 символов.
Для кодирования некоторой последовательности, состоящей из букв А, Б, В и Г, решили использовать неравномерный двоичный код, позволяющий однозначно декодировать двоичную последовательность, появляющуюся на приёмной стороне канала связи. Для букв А, Б, В используются такие кодовые слова: А — 000, Б — 1, В — 011.
Укажите кратчайшее кодовое слово для буквы Г, при котором код будет допускать однозначное декодирование. Если таких кодов несколько, укажите код с наименьшим числовым значением.
Код не может начинаться с 1, так как Б − 1.
0 не подойдёт, так как А и В начинаются с 0.
Двоичные коды 00 или 01 не подходят, поскольку А и В — 000 и 011.
010 и 001 подойдут, так как не конфликтуют ни с каким другим уже имеющимся кодом, из них 001 меньше.