ТГ бот

Постройте дерево Хаффмана для одной из следующих фраз: 1) МАМА МЫЛА РАМУ…

Информатика10 классРешено по фото 14 октября 2026 в 21:06
№ Дерево Хаффмана для фразы

Постройте дерево Хаффмана для одной из следующих фраз:

  1. МАМА МЫЛА РАМУ
  2. ШЛА САША ПО ШОССЕ
  3. ТКЁТ ТКАЧ ТКАНИ
  4. КАРЛ У КЛАРЫ УКРАЛ КОРАЛЛЫ
Решение

Берём фразу ) МАМА МЫЛА РАМУ. В ней символов, пробел обозначим «␣».

Частоты:

Символ М А ␣ Ы Л Р У
Частота

Проверка: .

Построение дерева. Каждый раз объединяем два узла с наименьшими весами:

  1. Ы() + Л() → узел с весом .
  2. Р() + У() → узел с весом .
  3. ␣() + () → узел с весом .
  4. () + М() → узел с весом .
  5. А() + () → узел с весом .
  6. () + () → корень с весом .

Ветвь влево помечаем , вправо .

Дерево (корень, ):

  • → ():
    • → М
    • → (): → Р, → У
  • → ():
    • → А
    • → ():
      • → ␣
      • → (): → Ы, → Л

Коды:

Символ М А ␣ Р У Ы Л
Код

Кодирование фразы:

Длина: бит.
При равномерном коде по бита на символ ( символов) получилось бы бита.

N4 (6)0М (4)10Р (1)1У (1)N2 (2)0N5 (8)0А (4)10␣ (2)10Ы (1)1Л (1)N1 (2)N3 (4)1Корень 14
💡 Почему так

Метод Хаффмана даёт префиксный код: чем чаще символ, тем короче его код. Ни один код не является началом другого, поэтому сообщение декодируется однозначно.

Ответ
✓ dzmen.ru

Коды: М — , А — , пробел — , Р — , У — , Ы — , Л — .
Фраза «МАМА МЫЛА РАМУ» кодируется битами:

№ Характеристика языка программирования

Вспомните язык программирования высокого уровня, с которым вы познакомились в основной школе. Охарактеризуйте его алфавит, синтаксис и семантику.

Решение

Возьмём язык Python.

Алфавит — набор допустимых символов языка:

  • буквы латинского алфавита (в строках и комментариях допустимы и русские буквы), знак подчёркивания;
  • цифры –;
  • знаки операций: , , , , , , , , , , и др.;
  • разделители и скобки: ( ), [ ], { }, запятая, двоеточие, точка;
  • пробелы и переводы строки (отступы в Python важны).

Синтаксис — правила записи конструкций языка:

  • имена переменных состоят из букв, цифр и подчёркивания и не начинаются с цифры; регистр важен (a и A — разные имена);
  • служебные слова (if, else, while, for, def и т. д.) нельзя использовать как имена;
  • блоки команд выделяются двоеточием и одинаковым отступом, например:
    if a > b: и на следующей строке с отступом print(a);
  • присваивание: x = ; ввод: a = int(input()); вывод: print(a);
  • нарушение правил даёт синтаксическую ошибку (SyntaxError), и программа не запускается.

Семантика — смысл конструкций, то есть то, что делает компьютер:

  • x = x + вычисляет правую часть и записывает результат в переменную x, то есть увеличивает x на ;
  • if выполняет блок только при истинном условии;
  • while повторяет блок, пока условие истинно;
  • / даёт вещественное деление, // — целую часть, % — остаток;
  • тип переменной определяется значением (int, float, str, bool);
  • смысловая ошибка (например, деление на ноль или неверная формула) не мешает запуску, но даёт неверный результат или сбой во время работы.
💡 Почему так

Алфавит определяет, из каких символов можно писать программу, синтаксис — как правильно из них составлять конструкции, семантика — какой смысл и действие имеет каждая корректно записанная конструкция.

Ответ
✓ dzmen.ru

Язык Python.
Алфавит: латинские буквы, цифры, знаки операций, скобки и разделители, пробелы и отступы.
Синтаксис: правила имён, служебные слова, блоки через двоеточие и отступ, формы команд присваивания, ввода и вывода.
Семантика: смысл команд, например присваивание, ветвление и циклы, типы данных, результат операций.

Помогло?

Есть ещё задание?Сфоткай, и ДЗмэн решит за пару секунд.

Решить по фото