Хелпикс

Главная

Контакты

Случайная статья





Задание 5. Задание 6. Задание 7. Справочная информация



Задание 5

 

Пользуясь кодовой страницей Windows-1251 таблицы кодировки ASCII, получить шестнадцатеричный код слова ИНФОРМАТИЗАЦИЯ.

Задание 6

 

Во сколько раз увеличится объём памяти, необходимый для хранения текста, если его преобразовать из кодировки KOI8-R в кодировку Unicode?

Задание 7

 

С помощью табличного процессора Excel построить кодировочную таблицу ASCII, в которой символы буду автоматически отображаться на экране в соответствии с их заданным десятичным номером (использовать соответствующую текстовую функцию).

Справочная информация

 

Алгоритм Хаффмена. Сжатием информации в памяти компьютера называют такое её преобразование, которое ведёт к сокращению объёма ханимаемой памяти при сохранении закодированного содержания. Рассмотрим один из способов сжатия текстовой информации - алгоритм Хаффмена. С помощью этого алгоритма строится двоичное дерево, которое позволяет однозначно декодировать двоичный код, состоящий из символьный кодов различной длины. Двоичным называется дерево, из каждой вершины которого выходят две ветви. На рисунке приведён пример такого дерева, построенный для алфавита английского языка с учётом частоты встречаемости его букв.

Закодируем с помощью данного дерева слово "hello":
0101 100 01111 01111 1110

При размещении этого кода в памяти побитово он примет вид:
01011000 11110111 11110

Таким образом, текст, занимающий в кодировки ASCII 5 байтов, в кодировке Хаффмена займет 3 байта.

Задание 8

 

Используя метод сжатия Хаффмена, закодируйте следующие слова:
а) administrator
б) revolution
в) economy
г) department

Задание 9

 

Используя дерево Хаффмена, декодируйте следующие слова:
а) 01110011 11001001 10010110 10010111 100000
б) 00010110 01010110 10011001 01101101 01000100 000

 

 

Пример выполнения №8

m   i  n  i  s    t    r

00011 1010 1100 1010  0110 001 1011 -  7байт для хранения

Убираем пробелы         0001110101100101001100011011

Разбиваем на байты               00011101 01100101 00110001 1011 - 4байта для хранения

Вывод: текст сжат на 3 байта

 

 

Пример выполнения №9

Дан текст                        00011101 01100101 00110001 1011 

Убираем пробелы                                  0001110101100101001100011011

А дальше 2 способа – двигаться с конца (это не очень удобно), поэтому рекомендую двигаться с начала

Идете по дереву пока не найдете букву 00011 (это м), значит следующий символ – это начало кода следующей буквы 1010 (и опять пришли к букве, это i), значит следующий символ – это начало кода следующей буквы 1100 (и опять пришли к букве, это n) и т.д.

00011 1010 1100 1010  0110 001 1011  

     m   i  n  i  s    t r

 

 

 

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.