Работа
выполняется на персональном компьютере с
использованием языков программирования
высокого уровня. Постройте программу,
которая бы позволила ввести сообщение
произвольной длины. Программа должна
выделить буквы алфавита введенного текста,
подсчитать и выдать частоту
появления этих букв. Определить энтропию,
приходящуюся в среднем на одну букву, длину
кода при равномерном кодировании и
избыточность. Программа должна обладать
некоторым интерфейсом для удобства работы
пользователя. Имея программу необходимо
запустить ее и, пользуясь подсказками меню,
ввести произвольный связный текст на
русском языке. Это может быть пословица,
стихотворение или произвольный текст.
Используя
результаты, выданные компьютером, следует:
1)
проанализировать алфавит введенного
сообщения:
количество
символов алфавита, значение энтропии H,
длину кода Q
при целочисленном кодировании,
избыточность R
при однобуквенном кодировании;
2)
построить вручную коды Шеннона-Фано и
Хаффмена (используя полученные
статистические данные);
3)
определить среднюю длину кода kс;
4)
сравнить полученное значение kс
с оптимальным H,
выданным компьютером;
5)
сделать необходимые выводы.
Содержание
отчета
Отчет о лабораторной работе должен содержать блок схему программы. Результаты анализа при статистическом кодировании, схему построения эффективных кодов, результаты анализа и сравнения различных методов кодирования, эффективность сжатия. Листинги результатов работы программы, выводы.