План урока на тему:

Условие Фано: построение однозначно декодируемых кодов

Информатика10 класс69 разделов
Условие Фано: построение однозначно декодируемых кодов

Информатика · 10 класс · Открытие нового · 45 мин

Условие Фано: построение однозначно декодируемых кодов с помощью дерева и графа Маркова

Цели и задачи

  • Цель урока по SMART: к концу урока научиться проверять двоичный код на выполнение условия Фано, строить по дереву префиксный код и применять граф Маркова для анализа однозначной декодируемости кодов, решив не менее 3 из 4 практических заданий.
  • Сформировать понимание различия между префиксным кодом, однозначно декодируемым кодом и кодом, допускающим неоднозначное декодирование.
  • Научить строить дерево кодовых слов и использовать его для проверки условия Фано.
  • Научить применять алгоритм построения графа Маркова для поиска возможных неоднозначных разложений сообщений на кодовые слова.
  • Развивать исследовательское мышление, умение аргументировать вывод и проверять решение контрпримером.

Планируемые результаты

Личностные

  • Осознавать значение строгой проверки алгоритмов кодирования для надёжной передачи и хранения информации.
  • Проявлять интерес к исследовательским задачам информатики и связи темы с будущей профессиональной деятельностью.
  • Понимать ценность точного аргументированного вывода вместо догадки по одному примеру.
  • Развивать ответственное отношение к совместной работе и корректному обсуждению различных способов решения.

Метапредметные

  • Выделять условие задачи, строить план проверки и фиксировать промежуточные результаты в таблице или графе.
  • Смыслово читать описание алгоритма и переводить его в последовательность формальных действий.
  • Сравнивать несколько способов проверки кода, выявлять преимущества и ограничения каждого.
  • Аргументированно представлять решение в паре и корректировать его после взаимной проверки.
  • Использовать графовую модель для анализа информационного процесса.

Предметные

  • Знать формулировку условия Фано: ни одно кодовое слово не является началом другого кодового слова.
  • Уметь строить дерево двоичного кода и определять, является ли код префиксным.
  • Понимать, что любой префиксный код является однозначно декодируемым.
  • Уметь строить граф Маркова по множеству кодовых слов и интерпретировать наличие или отсутствие неоднозначности.
  • Уметь приводить контрпример для кода, который не является однозначно декодируемым.

Универсальные учебные действия (УУД)

Личностные УУД

  • Определяют личный познавательный интерес к алгоритмам кодирования и их применению в цифровых системах.
  • Осознают необходимость точности, доказательности и проверки результата в программно-технической деятельности.
  • Оценивают собственную готовность объяснить отличие префиксного кода от произвольного однозначно декодируемого кода.
  • Принимают учебную задачу как модель реальной проблемы передачи сообщений без потери смысла.

Регулятивные УУД

  • Формулируют цель проверки конкретного кода и составляют последовательность действий.
  • Планируют распределение ролей при работе в паре: построитель дерева, проверяющий и докладчик.
  • Сверяют промежуточные результаты с условием Фано и исправляют обнаруженные ошибки.
  • Оценивают решение по критериям: полнота проверки, корректность графа, наличие вывода.
  • Прогнозируют, может ли найденное пересечение кодовых слов привести к неоднозначному декодированию.

Познавательные УУД

  • Строят модель кодирования в виде бинарного дерева.
  • Выделяют признаки префиксного кода и используют их как критерий классификации.
  • Анализируют остатки кодовых слов при построении графа Маркова.
  • Устанавливают причинно-следственную связь между достижением пустого остатка и неоднозначностью декодирования.
  • Формулируют обобщение: условие Фано достаточно для однозначной декодируемости, но не является необходимым.

Коммуникативные УУД

  • Распределяют действия в паре и согласуют единый способ записи результата.
  • Формулируют уточняющие вопросы о выборе ребра или остатка в графе.
  • Обосновывают вывод с использованием конкретного фрагмента дерева или пути графа.
  • Сравнивают решения двух пар без перехода на личности и предлагают исправление.
  • Представляют классу краткое доказательство или контрпример.

Подготовка учителя к уроку

  • Подготовить презентацию или интерактивную доску с определениями: кодовое слово, префикс, условие Фано, однозначная декодируемость.
  • Вывести на доску пустое бинарное дерево глубиной 4 с обозначенными ветвями 0 и 1.
  • Распечатать карточки для пар: по одному комплекту на парту, всего 15 комплектов; в каждом комплекте четыре множества кодовых слов.
  • Подготовить отдельные карточки с кодами {0, 10, 110, 111}, {0, 01, 10} и {0, 11, 101}.
  • Распечатать лист самопроверки на каждого ученика с алгоритмом построения дерева и графа Маркова.
  • Подготовить маркеры двух цветов: одним цветом отмечать префиксы, другим — остатки кодовых слов.
  • Разместить на доске памятку: «Если одно слово является началом другого, условие Фано нарушено».
  • Подготовить таймер на 3 и 5 минут для парной работы.
  • Оборудовать рабочее место компьютером и проектором; программная реализация графа не обязательна, но можно показать схему графа на экране.
  • Заранее распределить пары с учётом возможности взаимопомощи и подготовить карточки повышенного уровня для быстро работающих учеников.

Ход урока

Этап 1. Организационный момент и мотивация (3 мин)

Цель этапа: включить учащихся в исследовательскую задачу и показать практическую значимость однозначного декодирования.
Время
Действие учителя
Действие учеников
1 мин
Учитель приветствует класс и показывает на экране сообщение 010011, поясняя: "Представьте, что это переданный двоичный поток. Получатель знает только набор кодовых слов, но не видит границ между ними. Сегодня мы выясним, всегда ли такое сообщение можно восстановить единственным способом."
Записывают тему, рассматривают поток 010011 и предполагают: "Нужно определить границы кодовых слов".
2 мин
Учитель демонстрирует два набора: {0, 10, 11} и {0, 01, 10}. Реплика: "Попробуйте быстро проверить, какой набор удобнее декодировать. Не доказывайте пока формально, а выскажите гипотезу: какое свойство кодовых слов защищает нас от неоднозначности?"
В парах обсуждают 30 секунд, затем формулируют гипотезу: "Ни одно слово не должно начинаться с другого"; приводят пример возможного совпадения разбиений.
Завершение этапа: учитель подводит итог: "Мы увидели, что проблема возникает не в самих символах 0 и 1, а в границах кодовых слов. Теперь восстановим необходимые понятия и проверим нашу гипотезу строго."

Этап 2. Актуализация знаний (5 мин)

Цель этапа: актуализировать понятия кодирования, двоичного слова, префикса и декодирования.
Время
Действие учителя
Действие учеников
2 мин
Учитель проводит краткий опрос: "Что называют кодовым словом? Что происходит при кодировании сообщения? Чем декодирование отличается от кодирования? Приведите пример кодирования букв символами 0 и 1."
Отвечают: "Кодовое слово — последовательность символов, соответствующая знаку"; "Кодирование заменяет символы кодами, декодирование восстанавливает исходное сообщение"; приводят собственные примеры.
3 мин
Учитель записывает на доске слова 0, 01, 011 и спрашивает: "Какое слово является префиксом каждого из двух других? Как проверить это без полного перебора всех сообщений?" Затем вводит термин «условие Фано» и просит предположить его формулировку.
Находят слово 0 как начало слов 01 и 011, формулируют: "Префикс — начальная часть слова"; предполагают, что условие Фано запрещает включение одного кодового слова в начало другого.
Завершение этапа: учитель подводит итог: "Мы вспомнили, что префикс — это начальная часть слова, и увидели опасный случай 0 и 01. Теперь поставим точную цель: научиться распознавать такие случаи по дереву и исследовать более сложные коды графом."

Этап 3. Постановка проблемы и целеполагание (4 мин)

Цель этапа: сформулировать учебную проблему и план исследовательских действий.
Время
Действие учителя
Действие учеников
2 мин
Учитель записывает код $C=\{0,10,110,111\}$ и спрашивает: "Можно ли определить границу кодовых слов, читая поток слева направо? Какое слово встретится первым и почему?" Учитель показывает начало дерева и не завершает его.
Рассуждают: "Если начинается с 0, сразу выбирается кодовое слово 0; если начинается с 1, нужно посмотреть следующий символ"; формулируют признак однозначного чтения.
2 мин
Учитель предлагает план: "Сначала построим дерево, затем проверим условие Фано, после этого рассмотрим код, для которого дерево не даёт немедленного ответа, и построим граф Маркова. Запишите вопрос урока: достаточно ли отсутствия префиксов для однозначной декодируемости и как проверить остальные случаи?"
Записывают вопрос и план: построить дерево, найти префиксы, проверить код, построить граф остатков, сделать вывод.

Посмотрите план целиком

Зарегистрируйтесь — и откройте план урока по этой теме полностью: цели, ход урока и рефлексия по ФГОС.

Завершение этапа: учитель подводит итог: "Цель определена: от простой визуальной проверки мы перейдём к алгоритмической. Начнём с дерева, потому что оно наглядно показывает путь каждого кодового слова."

Этап 4. Открытие нового знания: дерево и условие Фано (9 мин)

Цель этапа: вывести правило построения дерева и установить связь условия Фано с префиксным кодом.
Время
Действие учителя
Действие учеников
3 мин
Учитель строит на доске бинарное дерево: из корня выходят ветви 0 и 1, затем продолжение соответствующей ветви. Реплика: "Каждый символ слова задаёт переход по ребру. Кодовое слово отмечаем терминальной вершиной. Если терминальная вершина имеет потомка, это означает, что короткое кодовое слово является началом более длинного."
Переносят в тетрадь дерево для $C=\{0,10,110,111\}$; отмечают вершины 0, 10, 110 и 111; замечают, что ни одна отмеченная вершина не является предком другой.
3 мин
Учитель формулирует: "Условие Фано выполняется, если никакое кодовое слово не является префиксом другого. В дереве это означает: терминальная вершина не имеет отмеченных потомков. Такой код называют префиксным. Почему его можно декодировать слева направо без возврата?"
Обсуждают в парах и отвечают: "Дойдя до терминальной вершины, мы однозначно определяем первое слово; дальнейшее чтение начинается с корня".
3 мин
Учитель показывает код $C=\{0,01,11\}$ и просит найти нарушение. Затем фиксирует на доске алгоритм: 1) начать с корня; 2) читать символы; 3) отметить кодовое слово; 4) проверить наличие отмеченных потомков.
Строят дерево, отмечают, что вершина 0 имеет потомка 01, формулируют: "Условие Фано нарушено, код не является префиксным".

Запись в тетрадях

Условие Фано: ни одно кодовое слово не является началом другого кодового слова. Префиксный код можно представить деревом: кодовые слова находятся в терминальных вершинах, и ни одна терминальная вершина не имеет терминальных потомков. Префиксность гарантирует однозначную декодируемость.
Завершение этапа: учитель подводит итог: "Дерево быстро выявляет нарушение условия Фано. Но однозначно декодируемый код может не быть префиксным, поэтому нам нужен более общий способ анализа. Сейчас исследуем остатки слов в графе Маркова."

Этап 5. Открытие нового знания: граф Маркова (8 мин)

Цель этапа: освоить идею построения графа Маркова как средства поиска неоднозначного декодирования.
Время
Действие учителя
Действие учеников
3 мин
Учитель показывает код $C=\{0,01,11\}$ и объясняет: "Если одно слово начинается с другого, вычитаем общий начальный фрагмент и записываем оставшийся хвост. Например, для 0 и 01 получаем остаток 1. Вершинами графа будут такие остатки, а переход означает новое сравнение остатка с кодовым словом."
Записывают пример: сравнение 0 и 01 даёт остаток 1; сравнение 01 и 0 также даёт остаток 1 после удаления общего префикса.
3 мин
Учитель продолжает: "Из вершины 1 сравниваем остаток с каждым кодовым словом. Если остаток начинается с кодового слова, удаляем его; если кодовое слово начинается с остатка, записываем новый хвост. Если появляется пустой остаток, существуют два различных разбиения одного сообщения." Учитель строит несколько переходов на доске.
Следят за переходами, отмечают стрелки между остатками и формулируют: "Пустой остаток означает совпадение двух разложений, то есть неоднозначность".
2 мин
Учитель задаёт вопрос: "Что означает отсутствие пути к пустому остатку? Можно ли сразу утверждать, что код префиксный?"
Отвечают: "Код может быть однозначно декодируемым, но не префиксным"; различают достаточное условие и необходимое условие.

Эталон решения

Для кода $C=\{0,01,11\}$ сравним слова 0 и 01. Общее начало — 0, остаток — 1. Получаем вершину графа 1. Далее сравниваем 1 с кодовыми словами: с 0 общий префикс отсутствует; с 01 общий префикс отсутствует; с 11 слово 11 начинается с 1, поэтому возникает остаток 1. Новых остатков не появляется, пустая вершина не достигается. Следовательно, данный код может быть однозначно декодируемым, хотя условие Фано нарушено; для окончательной проверки рассматривают все пары и все достижимые остатки.
Завершение этапа: учитель подводит итог: "Мы получили общий алгоритм: сравниваем кодовые слова, сохраняем остатки и ищем путь к пустому остатку. Теперь вы примените оба инструмента самостоятельно: дерево — для быстрой проверки, граф — для исследовательской проверки."

Этап 6. Парная практическая работа и первичное закрепление (10 мин)

Цель этапа: закрепить алгоритмы на разных кодах и научиться аргументировать результат в паре.
Время
Действие учителя
Действие учеников
2 мин
Учитель организует парную работу и раздаёт карточки трёх уровней. Инструкция: "В каждой паре распределите роли. Первый участник строит дерево, второй проверяет вершины. Затем вместе оформите вывод: условие Фано выполняется или нет, является ли код однозначно декодируемым по проведённому анализу."
Распределяют роли, получают карточки и читают критерии результата.
5 мин
Учитель предлагает базовый код $C_1=\{0,10,110,111\}$ и повышающий код $C_2=\{0,01,11\}$. Напоминает: "Для первого кода достаточно дерева. Для второго зафиксируйте минимум два остатка и проверьте, появляется ли пустой остаток. Не ограничивайтесь ответом «да» или «нет» — укажите основание."
Пары строят деревья. Для $C_1$ отмечают выполнение условия Фано. Для $C_2$ находят нарушение условия Фано и строят начальные переходы графа Маркова; записывают аргументированный вывод.
3 мин
Учитель предлагает дополнительную задачу: $C_3=\{00,01,10,11\}$. Реплика: "Проверьте, что произойдёт с потоком 0011. Сможете ли вы предложить единственный способ разбиения?" Затем проводит взаимопроверку по чек-листу.
Проверяют: $0011=00|11$; устанавливают, что каждое кодовое слово имеет одинаковую длину и код префиксный; обмениваются листами, отмечают наличие дерева, вывода и обоснования.

Запись в тетрадях

  • Название проверяемого кода.
  • Схема дерева или список терминальных вершин.
  • Найденные остатки в графе Маркова.
  • Вывод о выполнении условия Фано и об однозначной декодируемости.
  • Краткое объяснение, почему выбранный признак достаточен или почему требуется дополнительная проверка.
Завершение этапа: учитель подводит итог: "Вы проверили коды двумя способами и увидели, что рисунок дерева даёт быстрый ответ, а граф позволяет продолжить анализ за пределами условия Фано. Теперь каждый самостоятельно проверит, умеет ли он воспроизвести алгоритм без подсказки пары."

Этап 7. Самостоятельная работа с самопроверкой (4 мин)

Цель этапа: диагностировать индивидуальное понимание условия Фано и последовательности построения графа.
Время
Действие учителя
Действие учеников
3 мин
Учитель раздаёт индивидуальные задания: "Проверьте код $C=\{00,001,01,1\}$. Сначала укажите, выполняется ли условие Фано. Затем приведите фрагмент дерева, который подтверждает ответ. В одном предложении объясните, зачем нужен граф Маркова."
Самостоятельно находят, что 00 является префиксом 001, записывают: "Условие Фано нарушено"; изображают ветвь 0–0 и потомка 1; объясняют назначение графа.
1 мин
Учитель показывает эталон на доске: "Сверьте не только ответ, но и обоснование. Ошибка в условии Фано — это отсутствие указания конкретной пары слов."
Сверяют работу, исправляют пропущенную пару 00 и 001, ставят отметку самооценки.
Завершение этапа: учитель подводит итог: "Большинство из вас уже может обнаружить нарушение по дереву и объяснить роль графа. Завершим урок рефлексией: важно понять не только что получилось, но и какой шаг алгоритма требует дальнейшей тренировки."

Этап 8. Рефлексия и домашнее задание (2 мин)

Цель этапа: осмыслить освоенные способы проверки и зафиксировать индивидуальную учебную задачу.
Время
Действие учителя
Действие учеников
1 мин
Учитель предлагает приём «Одноминутка»: "Закончите две фразы: «Условие Фано выполняется, если…» и «В графе Маркова пустой остаток означает…». Затем покажите карточку: зелёная — могу построить дерево, жёлтая — нужна тренировка, красная — требуется объяснение."
Записывают два завершения и показывают цветовую карточку; формулируют: "Ни одно слово не является началом другого" и "существует неоднозначное разбиение".
1 мин
Учитель объявляет домашнее задание: "Выберите базовый, повышающий или дополнительный уровень. В работе обязательно приводите дерево либо граф и письменный вывод, а не только ответ."
Записывают выбранный уровень и контрольный вопрос: "Почему любой префиксный код однозначно декодируем?"
Завершение этапа: учитель подводит итог: "Сегодня вы научились проверять код не перебором случайных сообщений, а с помощью структурированных моделей — дерева и графа. На следующем уроке мы продолжим исследовать свойства кодов и свяжем их с оценкой длины сообщения и эффективностью кодирования."

Критерии оценивания практической работы

  • «5» — верно проверены оба основных кода и дополнительный код, дерево построено без ошибок, остатки графа Маркова указаны корректно, выводы аргументированы конкретными парами слов или переходами.
  • «4» — верно решены два основных задания, дерево построено правильно, но в графе пропущен один промежуточный остаток либо объяснение сформулировано неполно.
  • «3» — обнаружено хотя бы одно нарушение условия Фано и дано общее объяснение назначения графа, однако дерево или последовательность переходов содержат отдельные ошибки.
  • Ниже «3» — отсутствует проверяемый алгоритм: приведён только ответ без дерева, конкретной пары кодовых слов или анализа остатков.

Рефлексия

Вопрос для ученика
Цель вопроса
Что именно в дереве показывает нарушение условия Фано?
Выявление понимания связи между терминальной вершиной и её потомком.
Почему префиксный код можно декодировать слева направо?
Проверка осознания механизма однозначного выделения кодового слова.
Что означает появление пустого остатка в графе Маркова?
Выявление понимания критического признака неоднозначной декодируемости.
Какой шаг алгоритма оказался для вас самым трудным?
Определение индивидуальных затруднений для последующей коррекции.

Завершающее слово учителя

"Сегодня мы увидели, что надёжность кодирования можно исследовать формально. Условие Фано быстро проверяется по дереву: терминальная вершина не должна иметь кодовых потомков. Если префиксность нарушена, нельзя сразу делать вывод о неоднозначности — нужно продолжить анализ с помощью графа Маркова. На следующем уроке мы рассмотрим, как выбирать коды не только однозначные, но и эффективные по длине. Пожалуйста, обратите внимание дома на точность построения графа и на каждый письменный вывод."

Домашнее задание

Уровень
Что задать
Зачем
Базовый (обязательный)
Проверить на условие Фано три двоичных кода по 4–5 кодовых слов: построить для каждого дерево, выделить терминальные вершины и записать вывод.
Закрепляет алгоритм построения дерева; при проверке смотреть на указание конкретной пары, нарушающей или подтверждающей условие.
Средний (повышающий)
Для двух кодов, один из которых нарушает условие Фано, построить начальный граф Маркова: выписать остатки, возможные переходы и определить, достигается ли пустой остаток.
Формирует навык анализа остатков и аргументации вывода; проверять полноту переходов и правильность интерпретации пустого остатка.
Продвинутый (дополнительный)
Придумать два разных двоичных кода: один префиксный, другой не префиксный, но, по предварительному анализу, однозначно декодируемый. Для каждого привести дерево или граф и кратко защитить вывод.
Развивает исследовательское и творческое мышление; проверять, не выдан ли код с очевидным неоднозначным разбиением, и есть ли доказательство выбора.
Контрольные вопросы перед выходом из класса: «Сформулируйте условие Фано своими словами». «Как в дереве обозначается кодовое слово?» «Что проверяет граф Маркова?» «Какой вывод можно сделать, если путь к пустому остатку найден?»

Создайте уникальный план урока по своей теме

  • Любая тема, любой уровень
  • Структура по ФГОС
  • 100% уникальный план урока
  • Цели, ход урока, рефлексия
  • Экспорт в PDF и Word
  • Готово за 1 минуту

Другие темы по информатике для 10 класса

Представление текста, изображения и звука в компьютереАлфавитный (объёмный) подход к измерению информации; Единицы измерения информации: бит, байт, Кбайт, Мбайт, Гбайт; Содержательный (вероятностный) подход к измерению информацииНепрерывные и дискретные величины и сигналы, необходимость дискретизации информации, предназначенной для хранения, передачи и обработки в цифровых системахКоличество информации. Задание 11 ЕГЭПеревод конечной P-ичной дроби в десятичную; Двоичная, восьмеричная и шестнадцатеричная системы и переводы между нимиИнформационные процессы. Передача и хранение информацииСетевой этикет: правила поведения в киберпространствеГосударственные электронные сервисы и услугиКомпьютер и цифровое представление информации. Устройство компьютераУниверсальность дискретного представления информации. Двоичное кодирование; Единицы измерения информации: бит, байт, Кбайт, Мбайт, Гбайт; Содержательный (вероятностный) подход к измерению информацииЗаконодательство Российской Федерации в области программного обеспеченияЦель и задачи изучения информатики для выполнения задач профессиональной деятельности. Принципы работы компьютера. Персональный компьютер. Выбор конфигурации компьютера в зависимости от решаемых задач.

Чем удобны планы уроков Нейрум

  • Готовый план, не набросокЦели, ход урока, планируемые результаты, рефлексия — всё по структуре ФГОС, открыли и пошли вести.
  • План урока или техкартаОдин материал — два формата экспорта в PDF. Скачали то, что нужно завучу.
  • Свой план урока за минутуНе нашли нужный? ИИ-конструктор напишет план урока по вашей теме, классу и типу урока.

Вопросы и ответы

Как скачать план урока «Условие Фано: построение однозначно декодируемых кодов с помощью дерева и графа Маркова»?

Зарегистрируйтесь бесплатно — материал сохранится в личном кабинете, откуда его можно скачать как план урока или технологическую карту.

Соответствует ли план урока ФГОС?

Да, структура урока — цели, ход урока, планируемые результаты — построена по ФГОС для 10 класса (информатике).

Можно ли изменить план под свой класс?

Да. После регистрации план урока открывается в конструкторе: этапы и содержание можно отредактировать или перегенерировать.