Шифрование. Кодирование

Задание 1. Для шифрования каждой буквы используются двузначные числа. Известно, что буква «е» закодирована числом 20. Среди слов «елка», «полка», «поле», «пока», «кол» есть слова, кодируемые последовательностями цифр 11321220, 20121022.
Выясните код слова «колокол».

Решение.

  1. Данные последовательности цифр (11321220, 20121022) состоят из восьми символов.
  2. По условию задачи каждая буква кодируется двумя символами. Значит, эти последовательности кодируют слова, состоящие из четырех букв.
  3. Число 20 кодирует букву «е». В последовательности 11321220 есть число 20 в конце. Из представленного перечня слов подходит только «поле».
  4. Отсюда следует, что код «п» - 11, «о» – 32, «л» – 12.
  5. В последовательности 20121022 есть число 20 в начале. С буквы «е» начинается только слово «елка».
  6. Следовательно, код «л» - 12 (мы это уже знаем), «к» - 10, «а» - 22.
  7. Запишем код слова «колокол» - 10|32|12|32|10|32|12.

Ответ. Кодом слова «колокол» является комбинация следующих цифр - 10321232103212.


Задание 2. Для пяти букв алфавита заданы их двоичные коды (для некоторых букв – из двух бит, для некоторых – из трех). Эти коды представлены в таблице:

a b c d e
000 110 01 001 10


Определите, какой набор букв закодирован двоичной строкой 1100000100110.

Решение.

  1. Ни одна последовательность из двух символов не начинается с 11, значит первый код 110. Он соответствует букве «b». Будем отбрасывать известную часть кода, оставляя неизвестную - 0000100110.
  2. Ни одна последовательность из двух символов не начинается с 00, значит следующий код 000. Это соответствует букве «a». Остается 0100110.
  3. Следующие два символа – 01. Если рассматривать три символа, то 010, однако такая комбинация ничего не кодирует. Следовательно, мы имеем дело с буквой «c». Остаток – 00110.
  4. 001 – это «d».
  5. 10 – это «e».
  6. Запишем буквы по порядку: bacde.

Ответ. Двоичной строкой 1100000100110 закодирован следующий набор букв - bacde.