Сверь числа и знаки с фото.
- Пять букв английского алфавита закодированы кодами различной длины. Эти коды представлены в таблице:
A B C D E - + + + + - - - + - - - Какое сообщение в этой кодировке не содержит ошибок и может быть корректно декодировано?
- Ответ: ___
- Ответ: ___
- Ответ: ___
- Ответ: ___
Подсказка! В этой задаче коды букв таковы, что никакой из них не является началом другого. Поэтому при декодировании имеющихся сообщений действуйте следующим образом:
- выделяйте первую пару символов и сверяйте её с кодовой таблицей;
- если выделенная пара символов в кодовой таблице есть, то записывайте соответствующую ей букву и повторяйте п. 2 для следующей пары;
- если выделенной пары в кодовой таблице нет, то выделяйте первую тройку символов и сверяйте её с кодовой таблицей;
- если выделенная тройка символов в кодовой таблице есть, то записывайте соответствующую ей букву и повторяйте п. 2 для следующей пары;
- если выделенной тройки в кодовой таблице нет, то считайте сообщение ошибочным;
- если в конце сообщения остался один знак или пара знаков, которой нет в кодовой таблице, тоже считайте сообщение ошибочным;
- если не осталось ни одного знака, то сообщение корректно.
Краткий ответ: подходит вариант 4. Он декодируется так: B A A A B E C A, то есть BAAABECA.
Как рассуждать.
Коды букв:
- A =
-+ - B =
++ - C =
+- - D =
--+ - E =
---
Читаем сообщение слева направо. Сначала проверяем первые два знака: если это код из таблицы — записываем букву. Если пара --, то двухзначного кода нет, поэтому проверяем три знака: --+ — это D, --- — это E. Если в конце остался лишний знак, сообщение с ошибкой.
Для варианта 4:
++ | -+ | -+ | -+ | ++ | --- | +- | -+B | A | A | A | B | E | C | A
Получается BAAABECA.
Проверка обратной заменой:
++ -+ -+ -+ ++ --- +- -+ = ++-+-+-+++---+--+
Это в точности сообщение 4. В вариантах 1–3 при разборе в конце остаётся один лишний знак, поэтому они некорректны.