Лабораторная работа №1 (2 часа). Построение кода Хаффмана I. Выполните задание в тетради




Скачать 42.61 Kb.
НазваниеЛабораторная работа №1 (2 часа). Построение кода Хаффмана I. Выполните задание в тетради
Дата публикации06.11.2013
Размер42.61 Kb.
ТипЛабораторная работа
skachate.ru > Математика > Лабораторная работа
Лабораторная работа №1 (2 часа).

Построение кода Хаффмана
I. Выполните задание в тетради:

В таблице указаны частоты букв. Закодируйте их с помощью кода Фано и кода Хаффмана.

Буква

а

н

о

е

т

и

Частота

15

9

28

25

8

15


^ II. Общие задания:

  1. С помощью приложения xaffmen вспомнить принцип построения оптимального кода Хаффмана.

  2. Ознакомиться с программой xaf_lab. Прокомментировать этапы программы в соответствии с принципом построения оптимального кода Хаффмана.

  3. Исправить ошибку в заголовке процедуры return (описание формальных параметров), так чтобы действия процедуры изменяли массив b (построение кодов для разных алфавитов).

  4. Применить оформление вывода: цветовое выделение элементов массивов, играющих ключевое значение для построения кода.



  1. Изменить программу для алфавита из 9 букв. Вероятности задать самостоятельно.


^ Лабораторная работа №2 (2 часа)

Побитовые операции
Замечание. При работе нельзя использовать массивы для хранения цифр двоичного представления чисел. Все действия необходимо выполнить, используя либо арифметические операции “+” или “-“ либо побитовые операции “shl”, “shr”, “and”, “or” или “xor” языка Pascal
Общие задания

Задано целое число без знака (тип word). Распечатайте содержимое битов заданного числа.
Индивидуальные задания:

(во всех заданиях рассматривается тип word)

  1. Циклически сдвинуть двоичные разряды числа на пять позиций влево.



Лабораторная работа №2 (2 часа)

Побитовые операции
Замечание. При работе нельзя использовать массивы для хранения цифр двоичного представления чисел. Все действия необходимо выполнить, используя либо арифметические операции “+” или “-“ либо побитовые операции “shl”, “shr”, “and”, “or” или “xor” языка Pascal
Общие задания

Задано целое число без знака (тип word). Распечатайте содержимое битов заданного числа.
Индивидуальные задания:

(во всех заданиях рассматривается тип word)

  1. Циклически сдвинуть двоичные разряды числа на пять позиций влево.


Лабораторная работа № 3 (2 часа).

Шифрование.
Общие задания

Написать программу, осуществляющую шифрование и дешифрование числового массива с помощью случайных чисел.
Пусть имеется датчик псевдослучайных чисел, работающий по алгоритму:

, где - предыдущее псевдослучайное число, - следующее псевдослучайное число, а коэффициенты a, b, с постоянны и хорошо известны. Обычно , где n разрядность процессора, a mod 4 =1, a b – нечетное.

Процесс шифрования определяется следующим образом: шифруемая последовательность складывается по модулю 2 (xor) со значениями последовательности псевдослучайных чисел. Процесс дешифрования аналогичен.
Этапы выполнения:

1) Объявить массивы:

x – шифруемая последовательность,

t – последовательность псевдослучайных чисел,

y - зашифрованная последовательность.

2) Задать шифруемую последовательность с клавиатуры

3) Присвоить коэффициентам a, b, c некоторые значения

4) Ввести ключ шифра t[1]

5) Определить псевдослучайную последовательность t по заданной рекуррентной формуле

6) Вывести последовательность t

7) Провести шифрование: вычисление элементов массива y с помощью операции xor с элементами массивов x и y

8) Вывести последовательность y

9) Провести дешифровку аналогично пунктам 7), 8)
^ Лабораторная работа №4 (2 часа).

Организация доступа к динамической памяти
Общие задания

Открыть программу P1_KVUR. Определить: с какими переменными возможно и желательно работать как с динамическими? Изменить программу, включив работу с динамическими переменными
Индивидуальные задания:

Опишите тип данных: указатель на данные типа . Объявите переменные a, b названного типа. Выделите в динамической памяти участки, достаточные для размещения двух переменных типа (применить разные способы). Введите в созданные динамические переменные некоторые значения. Выведите их на экран. Присвойте одному из указателей значение другого указателя (Какие предварительные действия нужно сделать? Осуществите их). Выведите значения динамических переменных на экран.

:

1). сhar

^ Лабораторная работа №5 (4 часа).

Динамические структуры данных (стек, очередь)

Индивидуальные задания:

Написать программу, работающую по следующему меню:

1. Добавить в очередь

2. Выбрать из очереди

3. Распечатать очередь
1) очередь за талонами (фамилии)

2) очередь в буфет (имена)

3) очередь за путевкой в санаторий (ФИО, адрес, телефон, заболевание)

4) очередь за путевкой в ДОЛ (ФИО родителя, должность родителя, возраст ребенка, смена)

5) очередь за книгой в библиотеке (№ чит.билета, ФИО, телефон)
Лабораторная работа №6 (2 часа).

Рекурсивные алгоритмы.
Общее задание

Последовательность Фибоначчи задана двумя первыми членами , и рекуррентной формулой . Выведите k-й член последовательности (используйте рекуррентную функцию).
Индивидуальные задания

1. Последовательность задана первым членом и рекуррентной формулой . Выведите первые шесть членов последовательности (используйте рекуррентную процедуру).

Похожие:

Лабораторная работа №1 (2 часа). Построение кода Хаффмана I. Выполните задание в тетради iconЛабораторная работа №1 Программирование алгоритмов линейной и разветвляющейся...
Задание Составьте и выполните программу линейной структуры согласно вариантам задания
Лабораторная работа №1 (2 часа). Построение кода Хаффмана I. Выполните задание в тетради iconЛабораторная работа Тема графы
Эвм, научиться практически реализовывать основные алгоритмы работы с графами – поиск в глубину и в ширину, построение эйлерова и...
Лабораторная работа №1 (2 часа). Построение кода Хаффмана I. Выполните задание в тетради iconГенерация кода Задача генератора кода построение эквивалентной машинной...
Однако удобно и практично эти задачи все же разделять и при этом особо обращать внимание на их взаимодействие
Лабораторная работа №1 (2 часа). Построение кода Хаффмана I. Выполните задание в тетради iconАлгоритм Хаффмана на примере
Алгоритм Хаффмана основывается на том, что символы в текстах как правило встречаются с различной частотой
Лабораторная работа №1 (2 часа). Построение кода Хаффмана I. Выполните задание в тетради iconЗадание № Осуществить перевод числа из одной системы счисления в другие: 1
...
Лабораторная работа №1 (2 часа). Построение кода Хаффмана I. Выполните задание в тетради iconДомашняя контрольная работа №4
Задание Выполните словообразовательный разбор слов: вспомогательный, противопоставление
Лабораторная работа №1 (2 часа). Построение кода Хаффмана I. Выполните задание в тетради iconТема №3 Криминалистическая идентификация и диагностика Лабораторная работа №2 Задание №1
Задание № По указанию преподавателя письменно ответьте на контрольные вопросы
Лабораторная работа №1 (2 часа). Построение кода Хаффмана I. Выполните задание в тетради iconРазработка методов оптимизации низкоуровневого программного кода...
Целью настоящей работы является исследование эффективности генетического программирования в решении задачи оптимизации низкоуровневого...
Лабораторная работа №1 (2 часа). Построение кода Хаффмана I. Выполните задание в тетради iconМежрегиональный центр переподготовки специалистов
Лабораторная работа 8 не зачтена. Выполните работу для Вашего варианта, исправьте вывод и ответы на контрольные вопросы. Исправления...
Лабораторная работа №1 (2 часа). Построение кода Хаффмана I. Выполните задание в тетради icon1 работа 2 3
В каждой работе выполните задание только для двух распределений: нормального и тот, который указан

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2014
контакты
skachate.ru
Главная страница