Задание 2 ОГЭ. Кодирование и декодирование, условие Фано

Шпионские шифры, азбука Морзе, штрихкоды — всё это коды: каждый символ заменяют условным значком или набором цифр. Задание 2 ОГЭ проверяет, умеешь ли ты расшифровать сообщение по таблице и понимаешь ли, когда код можно прочитать только одним способом.

Чему научишься. Расшифровывать сообщение по кодовой таблице и определять, можно ли декодировать код однозначно (условие Фано).

Что нужно знать

Базовое понятие кодирования есть в курсе «Информатика 5-11» — при необходимости освежи: Кодирование информации. Всё остальное разберём здесь.

Что проверяет задание 2

Даётся кодовая таблица: каждой букве сопоставлен значок или цепочка цифр. Нужно либо расшифровать сообщение по таблице, либо понять, какой код читается однозначно (без разделителей между буквами). Ответ — слово, число или выбор варианта.

Как декодировать по таблице

Идём по сообщению слева направо и заменяем каждый код на его букву из таблицы. Если коды — отдельные значки (по одному на букву), всё просто: один значок = одна буква.

Таблица:  К=%   О=#   Т=&
Сообщение: % # &
Читаем:    К О Т   ->  КОТ

Условие Фано (когда код читается однозначно)

Если коды разной длины (например, из цифр), сообщение без разделителей можно прочитать неоднозначно. Условие Фано: ни один код не должен быть началом (префиксом) другого кода. Тогда сообщение декодируется единственным способом.

ПЛОХО (нарушено условие Фано):     ХОРОШО (условие Фано выполнено):
  А = 1                              А = 00
  Б = 10   <- код А (1) в начале!    Б = 01
  В = 100  <- тоже начинается с 1    В = 10
                                     Г = 11
«1» стоит в начале «10» и «100»  ->  все коды длины 2, ни один не
читается неоднозначно                 является началом другого -> однозначно

Быстрая проверка условия Фано. Если все коды одной длины — условие всегда выполнено. Если длины разные — проверь: не совпадает ли какой-то короткий код с началом более длинного. Совпал — декодирование неоднозначно.

Разбор простого примера (расшифровка по таблице)

Таблица: Л=@, И=#, С=%, Т=&. Расшифруй сообщение @#%&.
Идём по значкам: @ → Л, # → И, % → С, & → Т. Получается слово ЛИСТ.

Разбор сложного примера (условие Фано)

Коды: А=1, Б=10, В=100. Можно ли расшифровать сообщение без разделителей однозначно?
Смотрим: код буквы А — «1». Он стоит в начале кода Б («10») и кода В («100»). Значит цепочку «100» можно прочитать и как «В», и как «А» + «00»… — неоднозначно. Условие Фано нарушено, ответ — нет.

Частые ошибки

  • Проверяют условие Фано «на глаз» — надо сверить каждый короткий код с началом длинных.
  • Путают: условие Фано — про то, что код НЕ начало другого, а не про равенство кодов.
  • При расшифровке теряют порядок — читать строго слева направо.

Проверь себя

Контрольный вопрос. Дана таблица кодов: М=~, О=#, Р=%, Е=@. Расшифруй сообщение ~#%@. Впиши слово заглавными буквами.

Подсказка: ~=М, #=О, %=Р, @=Е.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Дана таблица кодов: Д=*, О=#, М=~, К=+. Расшифруй сообщение *#~. Впиши слово заглавными буквами.

Подсказка: *=Д, #=О, ~=М.

Онлайн-проверка ответа появится позже

Контрольный вопрос. В какой таблице кодов сообщение из цифр без разделителей всегда декодируется однозначно (условие Фано)?

АА=1, Б=2, В=3, Г=4 (все коды длины 1)
БА=1, Б=11, В=111
ВА=0, Б=00, В=000
ГА=1, Б=10, В=100

Подсказка: Если все коды одной длины, ни один не может быть началом другого.

Онлайн-проверка ответа появится позже

Задание. Каждой букве сопоставлен код: К=1, О=2, Т=3. Расшифруй запись 123 (коды идут подряд, каждая цифра — одна буква). Впиши слово заглавными буквами.

Подсказка: 1=К, 2=О, 3=Т.

✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.

Онлайн-проверка ответа появится позже

Задание. Дана таблица кодов: П=1, Р=2, И=3, В=4, Е=5, Т=6. Расшифруй запись 123456 (каждая цифра — одна буква). Впиши слово заглавными буквами.

Подсказка: 1=П, 2=Р, 3=И, 4=В, 5=Е, 6=Т.

✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.

Онлайн-проверка ответа появится позже

Задание. Коды букв: А=1, Б=10, В=100. Можно ли любое сообщение из этих кодов без разделителей расшифровать однозначно? Ответь одним словом: да или нет.

Подсказка: Код «1» (буква А) стоит в начале кодов «10» и «100» — условие Фано нарушено.

✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.

Онлайн-проверка ответа появится позже

Задание. Коды букв: А=00, Б=01, В=10, Г=11 (все коды по 2 цифры). Можно ли сообщение из этих кодов без разделителей расшифровать однозначно? Ответь одним словом: да или нет.

Подсказка: Все коды одной длины (2 цифры) — ни один не является началом другого, условие Фано выполнено.

✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.

Онлайн-проверка ответа появится позже

Задание. Дана таблица кодов: Л=@, И=#, М=%, О=&, Н=$. Расшифруй сообщение @#%&$. Впиши слово заглавными буквами.

Подсказка: @=Л, #=И, %=М, &=О, $=Н.

✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.

Онлайн-проверка ответа появится позже

Итог

Итог. Декодирование — замена каждого кода на букву по таблице, строго слева направо. Условие Фано: ни один код не является началом другого — тогда сообщение читается однозначно. Все коды одной длины — условие выполнено автоматически.

Дальше — банк задач с РешуОГЭ с видеоразборами. Прорешай несколько, пока приём не станет привычным.

Видео. ▶ Видеотеория задания 2  ·  ▶ Видеоразбор задания 2 (обзор)

Задания для тренировки

Банк задач с РешуОГЭ по заданию 2 (30 шт.). Решай прямо на РешуОГЭ; у части задач есть видеоразбор.

Назад: задание 1  ·  ↑ В начало урока  ·  ⌂ В начало курса  ·  К навигатору задания 2 →

Школа Виктора Комлева