«Архиватор» позволяет выполнить сжатие информации и добиться уменьшения размера исходной информации для последующего ее использования.
Существует много всяких причин выделять ресурсы ЭВМ в расчете на сжатое представление, т.к. более быстрая передача данных и сокращение пространства для их хранения позволяют сберечь значительные средства и за частую улучшить показатели ЭВМ.
Архивация - это сжатие, уплотнение, упаковка информации с целью ее более рационального размещения на внешнем носителе (диске или дискете). Архиваторы - это программы, реализующие процесс архивации, позволяющие создавать и распаковывать архивы.
Необходимость архивации связана с резервным копированием информации на диски и дискеты с целью сохранения программного обеспечения компьютера и защиты его от порчи и уничтожения (умышленного, случайного или под действием компьютерного вируса). Чтобы уменьшить потери информации, следует иметь резервные копии всех программ и файлов.
Программы-упаковщики (архиваторы) позволяют за счет специальных методов сжатия информации создавать копии файлов меньшего размера и объединять копии нескольких файлов в один архивный файл. Это даёт возможность на дисках или дискетах разместить больше информации, то есть повысить плотность хранения информации на единицу объёма носителя (дискеты или диска).
Кроме того, архивные файлы широко используются для передачи информации в Интернете и по электронной почте, причем благодаря сжатию информации повышается скорость её передачи. Это особенно важно, если учесть, что быстродействие модема и канала связи (телефонной линии) намного меньше, чем процессора и жесткого диска.
Цель данного курсового проекта разработка программы «Архиватора».
Задачи разработки:
1. Поиск различной информации по теме «Сжатие данных».
2. Разбор различных алгоритмов компрессии.
3. Написание программы - архиватора.
Различными разработчиками были созданы специальные программы для архивации файлов. Как правило, программы для архивации файлов позволяют помещать копии файлов на диске в сжатом виде в архивный файл, извлекать файлы из архива, просматривать оглавление архива и т.д. Разные программы отличаются форматом архивных файлов, скоростью работы, степенью сжатия файлов при помещении в архив, удобством использования.
В настоящее время применяется несколько десятков программ - архиваторов, которые отличаются перечнем функций и параметрами работы, однако лучшие из них имеют примерно одинаковые характеристики. Из числа наиболее популярных программ можно выделить: PKPAK, LHA, ICE, HYPER, ZIP, РАК, ZOO, EXPAND, разработанные за рубежом, а также AIN и RAR, разработанные в России. Обычно упаковка и распаковка файлов выполняются одной и той же программой, но в некоторых случаях это осуществляется разными программами, например, программа РКZIР производит упаковку файлов, a PKUNZIP - распаковку файлов.
Программы-архиваторы позволяют создавать и такие архивы, для извлечения из которых содержащихся в них файлов не требуются какие - либо программы, так как сами архивные файлы могут содержать программу распаковки. Такие архивные файлы называются самораспаковывающимися.
Создание архиватора — задача не из простых. Если говорить точнее, то вся сложность заключается в нахождении алгоритма, позволяющего эффективно сжимать данные.
Ниже предоставлен самый простой и известный алгоритм сжатия данных.
Пусть дан файл со следующим содержимым (байты):
15 12 00 00 00 00 00 00 00 00 00 00 00 00 44 44
44 55 77 44 AF 00 00 11 11 12 45 45 00 00 00 00
01 02 03 04 05 01 02 03 04 05 06 01 02 03 04 05
Как видно в содержимом файла есть много повторов. А значит первое что необходимо сделать — «нужно как-то избавиться от них». Решение данной проблемы вполне логичное, ведь можно, например, заменить все повторяющиеся подряд байты всего двумя. Первый будет указывать на число повторов, второй на повторяющийся байт.
Например, было: 00 00 00 00 00 00 00 00
Стало: 08 00
Однако тут стоит помнить, что максимальное значение байта (FF или 255). Значит можно сокращать цепочки максимум из 255 одинаковых байтов. На самом деле можно сократить цепочку в 256 байтов, для этого нужно начинать нумерацию с нуля, однако этого не стоит делать.
Так же стоит помнить о том, что файл нужно разархивировать, а значит нужен способ декодирования. Чтобы была возможность однозначно восстановить файл придется использовать данный метод и к неповторяющимся байтам. А это уже может повлечь за собой рост размера архива, так как один байт исходного файла заменяется двумя байтами в архиве.
Программа на языке программирования C# может состоять из одного или нескольких файлов. Физическая структура программы поможет понять принцип работы программного средства поиска оптимального пути в лабиринте.
В процессе создания программного средства были созданы следующие файлы, они используются для управления файлами проекта:
- Form1.cs – исходный файл проекта программы, описывает методы и события;
-Zip.cs– исходный файл проекта, описывает метод архивации данных;
- UnZip.cs – исходный файл проекта, описывает алгоритм разархивации созданного архива;
- Program.cs – исходный файл программы.
В ходе реализации программного средства архивации/разархивации данных использовались следующие компоненты среды Visual Studio:
- «Label» - компоненты используется для предоставления информации или текста описания;
- «Button» - компоненты используется для реализаций управляющих событий возникающие в процессе работы программного средства;
- «OpenFileDialog» - компонент позволяет отобразить диалоговое окно для открытия файла;
- «TextBox» - представляет элемент управления, который может использоваться для отображения или изменения неформатированного текста.
Разработанная программа представляет собой программное средство архивации/разархивации данных. Данное программное средство предназначается для использования в образовательных целях.
Для установки данной программы, компьютер пользователя должен соответствовать следующим системным требованиям, таблица 5.1.
Выбирая архиватор из всего их многообразия, не стоит руководствоваться только скоростью работы и обеспечиваемым коэффициентом сжатия. Необходимо, чтобы он обладал развитым и удобным оконным интерфейсом, поддерживал разные платформы (чтобы не возникало проблем совместимости) и располагал большим количеством дополнительных возможностей. Немаловажно при выборе архиватора учитывать распространенность и возможную дальнейшую поддержку авторами новых версий.
В процессе написания курсовой работы было собрано большое количество по теме компрессия данных, разобрано несколько реализаций различных алгоритмов сжатия данных, написана программа-архиватор.
В итоге получили готовый программный продукт, соответствующий теме курсовой работы «Программное средство архивации данных».
Все цели и задачи, поставленные в работе, были выполнены.
СКРИНШОТЫ РАБОТЫ


