Задания № 1, 8, 11 · ЕГЭ

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

Как выбрать алфавит, построить код и найти объём сообщения
6 мин чтенияСложность: Обновлено 29 сентября 2026

Кодирование — это представление информации с помощью знаков выбранного алфавита по определённому правилу. В задачах важно правильно определить, какие символы кодируются, сколько знаков содержит алфавит и какова длина сообщения.

Основные понятия

Алфавит — конечное множество символов, которые используются для записи сообщений. Например, русский алфавит содержит 33 буквы, десятичный алфавит — 10 цифр, а двоичный алфавит — два символа: 0 и 1. С мощностью алфавита можно подробнее познакомиться на странице «Мощность алфавита».

D
Код и кодирование

Кодирование — переход от исходного представления информации к представлению с помощью другого алфавита. Код — правило, по которому исходным символам, словам или сообщениям ставятся в соответствие кодовые обозначения.

Если каждый символ сообщения заменяется кодом одинаковой длины, говорят о равномерном коде. Если длины кодов различаются, код называется неравномерным. Для неравномерных кодов важно проверить, можно ли однозначно восстановить исходное сообщение; этому посвящена страница «Однозначность декодирования».

T
Главное правило для равномерного кода

Если мощность алфавита равна \(N\), а на один символ отводится \(i\) двоичных разрядов, то должно выполняться \(2^i\ge N\). Минимальная длина двоичного кода: \(i=\lceil\log_2N\rceil\).

\[i=\lceil\log_2 N\rceil\]

Знак \(\lceil x\rceil\) означает округление вверх до ближайшего целого. Например, для алфавита из 5 символов одного двоичного разряда недостаточно: \(2^1=2\). Двух разрядов также мало: \(2^2=4\). Трёх разрядов достаточно: \(2^3=8\). Значит, минимальная длина кода равна 3.

Алгоритм решения задач

Большинство задач на кодирование удобно решать по одному плану. Сначала выпишите исходный алфавит и определите его мощность. Затем выясните, одинаковая ли длина кодов у всех символов. После этого найдите длину одного кода, число кодируемых символов и объём сообщения.

  1. Определите, какие объекты кодируются: буквы, цифры, команды, цвета, пиксели или другие символы.
  2. Найдите мощность алфавита \(N\) — количество различных символов.
  3. Определите длину кода одного символа. Для двоичного равномерного кода используйте \(i=\lceil\log_2N\rceil\).
  4. Посчитайте количество позиций в сообщении. Пробелы, знаки препинания и переносы строки учитываются, если они входят в условие как символы.
  5. Умножьте длину кода одного символа на число символов.
  6. Если требуется ответ в байтах, килобайтах или других единицах, переведите результат.
\[I=K\cdot i\]

Здесь \(I\) — информационный объём сообщения в битах, \(K\) — число закодированных символов, \(i\) — число бит на один символ.

Приём для проверки

После вычисления проверьте результат здравым смыслом. Если в сообщении 100 символов, а каждый занимает 4 бита, объём не может быть меньше 400 бит. При равномерном коде число свободных кодовых комбинаций может быть больше числа символов — это нормально.

Микропроверка

Какова минимальная длина двоичного равномерного кода для алфавита из 7 символов?

Разобранный пример: построение кода и объём сообщения

№
Условие

Для передачи сообщений используют 6 символов: А, Б, В, Г, Д и пробел. Каждый символ кодируется одинаковым минимальным количеством двоичных разрядов. Закодировано сообщение «АБ ВГ». Найдите длину кода, один возможный набор кодов и объём сообщения.

В сообщении есть пять буквенных символов и один пробел. Пробел нельзя потерять: он входит в заданный алфавит и занимает отдельную позицию.

1
В алфавите шесть различных символов.
N=6
2
Ищем минимальное число двоичных разрядов, для которого число комбинаций не меньше 6.
\(\displaystyle 2^2=4<6,\qquad 2^3=8\ge6\)
3
Следовательно, один символ кодируется тремя битами.
\(\displaystyle i=\lceil\log_2 6\rceil=3\)
4
Выбираем любые шесть различных трёхбитовых комбинаций.
\(\displaystyle А\to000,\ Б\to001,\ В\to010,\ Г\to011,\ Д\to100,\ пробел\to101\)
5
Сообщение «АБ ВГ» содержит 5 символов: А, Б, пробел, В, Г.
K=5
6
Объём равен произведению количества символов на длину одного кода.
\(\displaystyle I=K\cdot i=5\cdot3=15\text{ бит}\)

Оставшиеся комбинации 110 и 111 не используются. Это не ошибка: при шести символах и трёх битах всего восемь возможных комбинаций, поэтому две комбинации остаются свободными.

\[I=15\text{ бит}=\frac{15}{8}\text{ байта}=1{,}875\text{ байта}\]

Если объём требуется указать в целых байтах для хранения, обычно понадобится округление вверх: 2 байта. Но если спрашивается именно информационный объём, ответом остаются 15 бит. В условии всегда различайте «объём информации» и «объём памяти».

Единицы измерения и варианты кодов

Один двоичный разряд называется битом. Восемь бит образуют один байт. Поэтому для перевода битов в байты нужно разделить число на 8, а для обратного перевода — умножить на 8.

\[1\text{ байт}=8\text{ бит}\]

Если алфавит содержит 256 символов, равномерный двоичный код требует 8 бит, поскольку \(2^8=256\). Для 257 символов уже потребуется 9 бит, так как \(2^8<257\le2^9\). В задачах, где кодируют числа, отдельно учитывайте разрядность и способ представления; например, у двоичного кодирования чисел могут быть дополнительные ограничения.

Иногда в условии дано, что каждый символ занимает фиксированное число байт. Тогда вычислять \(\lceil\log_2N\rceil\) не нужно: используйте указанную разрядность. При сжатии или неравномерном кодировании общий объём может быть найден только по кодам отдельных символов или по частотам их появления. Такие методы рассматриваются, например, в кодировании Хаффмана.

ВеличинаОбозначениеЧто означает
Мощность алфавита\(N\)Количество различных символов
Длина кода\(i\)Число бит на один символ
Длина сообщения\(K\)Количество закодированных позиций
Объём сообщения\(I\)Общее количество бит
!
Частые ошибки

1. Считают только буквы. Если пробел, цифры или знаки препинания входят в сообщение, они тоже занимают позиции. 2. Округляют логарифм вниз. Нужно округление вверх: для 5 символов требуется 3 бита, а не 2. 3. Путают число символов и мощность алфавита. В алфавите может быть 10 символов, а в конкретном сообщении — только 4 позиции. 4. Забывают единицы. 24 бита — это 3 байта, а не 24 байта. 5. Считают свободные коды ошибкой. Неиспользуемые комбинации допустимы при минимальном равномерном коде.

Как распознавать тип задачи

Фраза «используется алфавит из \(N\) символов» обычно означает, что нужно найти минимальную длину двоичного кода. Фраза «каждый символ записывается \(i\) битами» уже сообщает длину кода, поэтому достаточно умножить её на число символов. Если сказано, что код состоит из нулей и единиц и все слова имеют одинаковую длину, применяйте формулу \(I=K\cdot i\).

Если коды имеют разную длину, нельзя умножать число символов на одну общую длину. Нужно сложить длины кодов всех позиций сообщения. Если требуется построить дерево кодов, воспользуйтесь страницей «Дерево кодирования». А для задач о двоичных разрядах чисел полезно повторить «Двоичное кодирование».

\[I=i_1+i_2+\dots+i_K\quad\text{для неравномерного кода}\]

Быстрая проверка

Q
Быстрый тест по теме

Проверьте себя

~ 2 мин4 вопроса
Вопрос 1 / 4
Вопрос 1 из 4 · длина кода
Сколько бит нужно для равномерного двоичного кода алфавита из 9 символов?
Главное за минуту

Главное

  • Сначала определите алфавит и его мощность \(N\), затем число позиций \(K\) в сообщении.
  • Для минимального двоичного равномерного кода используйте \(i=\lceil\log_2N\rceil\).
  • Объём равномерно закодированного сообщения вычисляется по формуле \(I=K\cdot i\).
  • Пробелы, цифры и знаки препинания учитываются, если они входят в алфавит или явно присутствуют в сообщении.
  • При неравномерном коде длины кодов складываются, а не умножаются на одну общую длину.
  • Не путайте биты и байты: \(1\) байт равен \(8\) битам.