Кодирование, декодирование информации. Демонстрационный материал при подготовке к экзаменам в 11 классе
Что нужно знать: кодирование – это перевод информации с одного языка на другой (запись в другой системе символов, в другом алфавите); обычно кодированием называют перевод информации с «человеческого» языка на формальный, например, в двоичный код, а декодированием – обратный переход, один символ исходного сообщения может заменяться одним символом нового кода или несколькими символами, а может быть и наоборот – несколько символов исходного сообщения заменяются одним символом в новом коде (китайские иероглифы обозначают целые слова и понятия); кодирование может быть равномерное и неравномерное; при равномерном кодировании все символы кодируются кодами равной длины; при неравномерном кодировании разные символы могут кодироваться кодами разной длины, это затрудняет декодирование
Что нужно знать: Двоично –шестнадцатиричная и двоично – восьмеричная таблица
Для кодирования букв А, Б, В, Г решили использовать двухразрядные последовательные двоичные числа (от 00 до 11, соответственно). Если таким способом закодировать последовательность символов БАВГ и записать результат 16- ричным кодом, то получится 1) 4B 16 2) )BACD 16 4) Решение: 1. из условия коды букв такие: A – 00, Б –01, В – 10 и Г – 11, код равномерный; 2. последовательность БАВГ кодируется так: = ; 3. разобьем такую запись на тетрады справа налево и каждую тетраду переведем в шестнадцатеричную систему (то есть, сначала в десятичную, а потом заменим все числа от 10 до 15 на буквы A, B, C, D, E, F); получаем = = 4B 16 Ответ – 1.
Здесь используется неравномерное кодирование, при котором декодирование может быть неоднозначным, то есть, заданному коду может соответствовать несколько разных исходных сообщений. Попробуем декодировать с начала цепочки, первой буквой может быть B или E, эти случаи нужно рассматривать отдельно. 1. Пусть первая буква – E с кодом 011, тогда остается цепочка Для кода первой буквой может быть только B с кодом 01, тогда остается ( начало исходной цепочки – EB?). 3. Для кода первой буквой может быть только A с кодом 000, тогда остается 11000, а эта цепочка не может быть разложена на заданные коды букв. 4. Поэтому наше предположение о том, что первая буква – E, неверно. Для 5 букв латинского алфавита заданы их двоичные коды (для некоторых букв – из двух бит, для некоторых – из трех). Эти коды представлены в таблице: Определить, какой набор букв закодирован двоичной строкой ) EBCEA 2) BDDEA 3) BDCEA 4) EBAEA
Для 5 букв латинского алфавита заданы их двоичные коды (для некоторых букв – из двух бит, для некоторых – из трех). Эти коды представлены в таблице: Определить, какой набор букв закодирован двоичной строкой ) EBCEA 2) BDDEA 3) BDCEA 4) EBAEA 1. Пусть первая буква – B с кодом 01, тогда остается цепочка Для кода первой буквой может быть только D с кодом 10, тогда остается (можно полагать, что начало исходной цепочки – BD?). 3. Для кода первой буквой может быть только С с кодом 100, тогда остается (начало исходной цепочки – BDC?). 4. Несмотря на то, что среди ответов есть единственная цепочка, которая начинается с BDC, здесь нельзя останавливаться, потому что «хвост» цепочки может «не сойтись» 5. для кода на первом месте может быть B (код 01) или E (011); в первом случае «хвост» 1000 нельзя разбить на заданные коды букв, а во втором – остается код 000 (буква А), поэтому исходная цепочка может быть декодирована как BDCEA Ответ – 3
Для 5 букв латинского алфавита заданы их двоичные коды (для некоторых букв – из двух бит, для некоторых – из трех). Эти коды представлены в таблице: Определить, какой набор букв закодирован двоичной строкой ) EBCEA 2) BDDEA 3) BDCEA 4) EBAEA Решение (вариант 2, декодирование с конца): 1. Для кода последней буквой может быть только А (код 000), тогда остается цепочка Для последней может быть только буква E (011), тогда остается цепочка Для последней может быть только буква C (100), тогда остается цепочка Для 0110 последней может быть только буква D (10), тогда остается 01 – это код буквы B. 5. Таким образом, получилась цепочка BDCEA. правильный ответ – 3
Для 5 букв латинского алфавита заданы их двоичные коды (для некоторых букв – из двух бит, для некоторых – из трех). Эти коды представлены в таблице: Определить, какой набор букв закодирован двоичной строкой ) EBCEA 2) BDDEA 3) BDCEA 4) EBAEA Решение (вариант 3, кодирование ответов): в данном случае самое простое и надежное – просто закодировать все ответы, используя приведенную таблицу кодов, а затем сравнить результаты с заданной цепочкой Получим: 1) EBCEA – ) BDDEA – ) BDCEA – ) EBAEA – Сравнивая эти цепочки с заданной, находим, что правильный ответ – 3.