В данном курсовом проекте содержатся следующие разделы:
1. Содержание
2. Задача
3. Теоретический материал
4. Структурное описание разработки
5. Функциональное описание
6. Работа с контрольным примером, вывод
7. Приложение: исходный код программы
Задача
Разработать архиватор тексовых файлов (архивация и извлечение). Архив должен содержать в себе список сжатых файлов. Операции над архивом: создание, добавление файла, извлечение, вывод списка файлов. При архивировании определять процент сжатия. Способ архивирования - LZSS.
Структурное описание разработки
Кодер
Базовой стратегией алгоритма LZSS, использованного в работе является преобразование потока с помощью словаря. Словарём является скользящее окно данных. Поступающие данные описываются с помощью уже обработанных. Идея состоит в замене строк символов на такие коды, что их можно трактовать как индексы строк некоторого словаря.
В качестве модели данных алгоритма используется "скользящее" по входному сообщению окно, разделённое на две неравные части. Первая, большая по размеру, включает в себя уже просмотренную часть сообщения. Вторая, намного меньшая, является буфером, содержащим ещё не закодированные символы входного потока. Размер окна составляет несколько килобайтов, в программе задаётся константой WINDOW. Алгоритм пытается найти в словаре фрагмент, совпадающий с содержимым буфера.
Для хранения содержимого окна используется символьный буфер. В целях повышения эффективности скольжения окна по содержимому сообщения, доступ к нему организован как к кольцевому и размер окна кратен степени двух.
Объем пояснительной записки курсового проекта составляет 9 страниц.
Курсовой проект полностью оформлен. Вставлены все необходимые рисунки и схемы.
Формат файла MS Word (DOC), исходные коды (Выполнено в Borland Builder 6), скомпилированная программа (halfmoon.exe).