Текстовый файл, записанный в однобайтной кодировке, содержит только 33 заглавные русские буквы, цифры и пробел.

Информатика-11-класс-Поляков

§ 3. Сжатие данных ГДЗ по Информатике 11 класс. Углубленный уровень. В 2 ч. Поляков К.Ю.


3. Текстовый файл, записанный в однобайтной кодировке, содержит только 33 заглавные русские буквы, цифры и пробел. Ответьте на следующие вопросы:

• какое минимальное число битов нужно выделить на символ при передаче, если каждый символ кодируется одинаковым числом битов?
• сколько при этом будет занимать заголовок пакета данных?
• при какой минимальной длине текста коэффициент сжатия будет больше 1?

Ответ

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

1. Минимальное число битов на символ:

Для кодирования символов необходимо учитывать количество уникальных символов, которые нужно закодировать. У нас есть 33 заглавные русские буквы, 10 цифр и пробел, итого:

33+10+1=44 символа

Чтобы закодировать 44 символа, нам нужно log2​(44) бит:

log2​(44)≈5.46

Так как каждый символ должен быть представлен целым числом бит, округляем до ближайшего большего целого числа: 6 бита на символ

2. Размер заголовка пакета данных:

Заголовок пакета данных может включать в себя информацию о:

  • Длине сообщения
  • Кодировке
  • Контрольных данных для проверки ошибок

Размер заголовка пакета данных зависит от протокола передачи. В отсутствие конкретного протокола предположим, что заголовок содержит базовую информацию:

  • Длина сообщения: если размер сообщения может достигать 2^16 символов, то для длины потребуется 16 бит (2 байта).
  • Кодировка и контрольная информация: например, еще 1 байт.

Итого: 16 бит (длина)+8 бит (кодировка и контрольная информация)=24 бита=3 байта

3. Минимальная длина текста для коэффициента сжатия больше 1:

Коэффициент сжатия определяется как:

Коэффициент сжатия = Исходный размер ​/ Сжатый размер

Исходный размер текста в однобайтной кодировке:

n символов×8 бит/символ

Сжатый размер текста в 6-битной кодировке:

n символов×6 бит/символ+размер заголовка

Для коэффициента сжатия больше 1:

Текстовый файл, записанный в однобайтной кодировке, содержит только 33 заглавные русские буквы, цифры и пробел.

Решим это неравенство:

  1. Умножим обе стороны на n×6+24n: 8n>6n+24
  2. Перенесем 6n влево: 2n>24
  3. Разделим обе стороны на 2: n>12

Таким образом, минимальная длина текста должна быть больше 12 символов, чтобы коэффициент сжатия был больше 1.

Итоги:

  • Минимальное число битов на символ: 6 бит.
  • Размер заголовка пакета данных: 3 байта.
  • Минимальная длина текста для коэффициента сжатия больше 1: больше 12 символов.

Понравилась статья? Поделиться с друзьями: