Программа-архиватор WinRAR Лабораторная работа №1 Сжатие информации в ПК 1.1. Цель работы Изучение методов сжатия данных. Изучение программы-архиватора WinRAR и работа с ней. Наработка практических навыков по созданию архивов и их модификаций. Порядок выполнения работы 1. Изучение методических указаний к работе (дома), литература [1,2,7]. 2. Подготовка отчета (дома). 3. Индивидуальный входной контроль: · общие сведения: - о сжатии информации; - о методах сжатия, их достоинствах и недостатках; - об архиваторах, их особенностях и возможностях; · основные понятия: файлы исходные, архивные, самораспаковывающиеся и др.; · работа с программой WinRAR (создание архивов, просмотр, удаление, извлечение файлов и др.). 4. Работа с программой-архиватором WinRAR. 5. Выполнение индивидуальных практических заданий: часть 1, табл 1.3 (дома) и часть 2 (см. разд. 1.6) – в лаборатории ПК. 6. Отчет о проделанной работе: · индивидуальное выполнение на ПК заданных преподавателем операций: архивации файлов, их извлечения из архивов и др; · оформление отчета (добавляется по результатам работы на ПК); · защита отчета. 1.3. Содержание отчета Теоретическая часть: · краткое описание основных методов сжатия и их особенностей, основных архиваторов, достоинств и возможностей архиватора WinRAR. Практическая часть: · результат выполнения практического задания, часть 1(разд. 1.6); · протокол выполнения заданий, часть 2 (разд. 1.6); · содержимое и размер двух архивов (см. зад.6, часть 2) в виде табл. 1.1. Таблица 1.1 Пример содержимого архива  1.4. Теоретическая часть 1.4.1. Основные понятия и методы сжатия данных Почти сразу после появления ПК возникла проблема нехватки памяти для хранения различных файлов в компьютере. Появление винчестеров несколько сняло остроту проблемы. Однако программисты стали создавать еще более сложные программы, и какую бы память не имел ПК, ее объем не всегда может удовлетворять пожеланиям всех пользователей. Но наряду с увеличением объема памяти актуальными являются способы эффективного хранения данных в ПК. Во многих случаях информация, содержащаяся в файлах, избыточна. Для устранения избыточности используются специальные методы сжатия данных, основанные на поиске в файле избыточной информации и последующем ее кодировании с целью получения минимального объема. Сжатие информации – это процесс сокращения количества битов, необходимых для хранения и передачи некоторого объема информации. Может быть сжатие без потерь, когда информация, восстановленная из сжатого сообщения, в точности соответствует исходной, и сжатие с потерями (необратимое, ущербное), когда восстановленная информация только частично соответствует исходной. Первое применяется при обработке текстов, записанных на естественном или искусственном языках, второе – при обработке изображений и звука, для цифровой записи аналоговых сигналов. Различают два основных способа сжатия: - статистический, - словарный. При первом каждому символу присваивается код, основанный на вероятности его появления в тексте. Высоко вероятные символы получают короткие коды и наоборот. Одним из самых ранних и широко известных статистических методов является алгоритм Хаффмана, предложенный в 1952 году, при котором символы заменяются кодом, состоящим из целого количества битов. В конце 70-х годов он был вытеснен арифметическим кодированием, имеющим схожую с кодом Хаффмана функцию и основанным на идее кодирования символов дробным числом битов. Арифметическое сжатие может быть использовано в тех случаях, когда степень сжатия важнее, чем временные затраты на сжатие информации. При словарном способе группы последовательных символов или "фраз" заменяются кодом. Замененная фраза может быть найдена в некотором словаре. В 1977 году Лемпель и Зив предложили свою модификацию словарного метода, отличающуюся от Хаффмановского и арифметического методов, в которой сжатие основано на свойстве "потока символов" иметь повторяющиеся участки. Поток символов – это исходные данные для сжатия, например текстовый файл, массив. Основная идея алгоритма Лемпеля и Зива состоит в том, что второе и последующие вхождения некоторой строки символов в сообщении заменяются ссылкой на ее первое появление в сообщении. В последнее время было показано, что любая практическая схема словарного сжатия может быть сведена к соответствующей статистической схеме сжатия, и найден общий алгоритм преобразования словарного метода в статистический. Поэтому при поиске лучшего сжатия статистическое кодирование обещает быть наиболее плодотворным, хотя словарные методы и привлекательны своей быстротой. Одним из наиболее простых и наглядных является метод сжатия последовательностей одинаковых символов, не относящийся, однако, к названным основным методам. 1.4.2. Метод сжатия последовательностей одинаковых символов Метод основан на представлении последовательности одинаковых символов в виде двух величин K и S, где K – количество повторяющихся символов, S – код этого символа. Основным недостатком данного метода является то, что он обеспечивает сжатие лишь в случае, когда в исходном файле основную часть составляют повторяющиеся символы. В противном случае сжатый файл может занимать больше места, чем исходный неуплотненный файл. Наиболее эффективно метод сжатия последовательностей одинаковых символов работает в случае двоичных файлов. Поскольку двоичный файл содержит только два символа – 1 и 0, то в сжатом файле можно не указывать сам сжимаемый символ, а указать лишь число повторений символа. Тогда каждая новая величина в сжатом файле будет означать изменение состояния битовой строки, но значение первого символа нужно указать обязательно. Рассмотрим три примера, поясняющих работу этого алгоритма. Первый пример показывает случай сжатия исходного файла, второй – неудача сжатия, вследствие чего размер сжатого файла превышает размер исходного файла, третий пример – сжатие двоичного файла. Пример 1. Исходный файл: MMMNNNKNNNNNNNNLLLLL. Так как каждый символ при обычном представлении внутри ЭВМ занимает один байт памяти, то полная длина исходного файла N0 = 20 байтов. Сжатый файл: 3M3N1K8N5L. Общее число символов в сжатом файле N1 = 10 байт. Коэффициент сжатия Kсж =N0/N1 = 2. Пример 2. Исходный файл: Сжатие---информации. Сжатый файл: 1С1ж1а1т1и1е3-1и1н1ф1о1р1м1а1ц2и1. N0=20 байт; N1=34 байта; Kсж =0.59. Видим, что в данном примере сжатый файл получился больше исходного. Пример 3. Исходный файл: 110000111111101001011111110000. Сжатый файл: 12471121174 N0 = 30 байт; N1 = 11 байт; Kсж = 2.73. 1.4.3. Программы-архиваторы На основе методов сжатия данных созданы различные программы, называемые архиваторами или упаковщиками. Существует много программ-архиваторов, имеющих различные показатели по степени и времени сжатия. Эти показатели могут быть разными для различных файлов (текстовых, графических, исполняемых и т.д.), то есть один архиватор хорошо сжимает текстовый файл, а другой - исполняемый. Среди самых известных и часто используемых программ для Windows выделяются следующие: ARJ, PKZIP, RAR, LHA, HAи т. д. Обычно упаковщики осуществляют сжатие сразу несколькими способами. Как правило, программы для архивации файлов позволяют помещать копии файлов на диске в сжатом виде в архивный файл, извлекать файлы из архива, просматривать оглавление архива и др. В настоящее время архиваторы, работающие под Windows, вытесняют конкурентов в основном за счет использования 32-битной шины данных, более удобного и интеллектуального интерфейса, расширенных возможностей и более совершенных алгоритмов сжатия. Кроме того, эти программы поддерживают не один, как раньше, а сразу несколько различных форматов архивных файлов. Для примера рассмотрим работу программы WinRAR, которая также отличается удобной встроенной оболочкой работы с файлами и папками. Программа-архиватор WinRAR |