Вопрос:

Восстановите кодовую таблицу для пяти неповторяющихся букв, которые есть в слове Франарк (Ф, Р, А, Н, К), используя закодированное сообщение 1101101101101010011010110111.

Ответ:

Для решения этой задачи нам нужно проанализировать исходное сообщение 'Франарк' и закодированное сообщение '1101101101101010011010110111'.

1. **Определение длины кода:** В слове 'Франарк' 6 букв, но уникальных только 5 (Ф, Р, А, Н, К). Закодированное сообщение имеет длину 28. Если каждая буква имеет одинаковую длину кода, то длина кода каждой буквы должна быть 28/6 = 4 целых и 4/6, округляем до 4 или 5, но если бы было 5 символов тогда бы было 28/5 = 5 целых и 3/5 что опять не целое. Следовательно, необходимо использовать 3, 4 или 5. Так как у нас 5 букв, то 3 символа дадут 2^3 = 8 комбинаций. Если бы было 2 то 2^2 = 4, а нам нужно 5. Поэтому код должен быть длиной 3, 4 или 5, но по таблице, нам нужно 3.

2. **Сопоставление букв и кодов:**
- 'Франарк' состоит из 6 букв, кодированных 5 уникальными символами.
- 'Ф' встречается 1 раз и идет первым в слове.
- 'Р' встречается 1 раз и идет вторым.
- 'А' встречается 2 раза и идет третьим и пятым.
- 'Н' встречается 1 раз и идет четвертым.
- 'К' встречается 1 раз и идет последним.

Разделим кодовую строку на блоки по 3 символа:
110 110 110 110 101 001 101 011 011

'Франарк'

1. 'Ф' - 110
2. 'Р' - 110
3. 'А' - 110
4. 'Н' - 101
5. 'А' - 001
6. 'Р' - 101
7. 'К' - 011

Видим что 'Ф' и 'Р' и 'А' имеют одинаковый код 110, чего быть не может, так как буквы уникальны.

Разделим кодовую строку на блоки по 4 символа:
1101 1011 0110 1010 0110 1011

1. 'Ф' - 1101
2. 'Р' - 1011
3. 'А' - 0110
4. 'Н' - 1010
5. 'А' - 0110
6. 'Р' - 1011
7. 'К' - не хватает кода.

Это также не корректно.

Если возьмем код в 5 символов
11011 01101 10101 00110 10110 111
не хватает.

Заметим, что длина закодированного сообщения 28 символов, а не 27 или 30, для 3-х или 5-и битного представления. Значит, нам надо использовать неравномерное кодирование.

Так как в условии сказано что используется равномерный код, это значит что каждая буква кодируется одинаковым количеством бит, 28 = 7*4, значит каждая буква кодируется 4 битами.
1101, 1011, 0110, 1010, 0110, 1011, 0111 (но у нас 6 букв, но в задании 5 разных, повторения А, Р)

Ф: 1101
Р: 1011
А: 0110
Н: 1010
К: 0111

Разделим строку на 4 битные слова:
1101 1011 0110 1010 0110 1011 0111

Ф: 1101
Р: 1011
А: 0110
Н: 1010
К: 0111

Проверим:
Франарк
1101 1011 0110 1010 0110 0111

**Итоговая таблица:**

Ф: "1101"
Р: "1011"
А: "0110"
Н: "1010"
К: "0111"
Подать жалобу Правообладателю