Архивация данных

Регулярно возникает необходимость сжимать информацию перед тем, как размещать ее в архивах или передавать по каналам связи, т.к. диски стоят денег, и передача данных также требует денежных затрат. Соответственно, возникает и обратная необходимость восстановления информации из уплотненных архивов.

Часто термин «сжатие данных» заменяют термином «архивация данных». Программы, выполняющие архивацию и распаковку из архива данных, называют архиваторами.

Архивация (упаковка, сжатие информации) – преобразование информации с целью уменьшения объема памяти, требуемого для ее хранения. Существуют различные способы сжатия информации: за счет упрощения кодов символов, …

Архивный файл состоит из одного или нескольких сжатых файлов и содержит оглавление, позволяющее узнать, какие файлы содержатся в архиве. Для проверки целостности архива в архивном файле содержится код циклического контроля для каждого файла.

Разархивация (распаковка) – восстановление файла в виде, который он имел до упаковки. Объектами сжатия являются файлы, папки, диски.

К архиваторам, работающим в ОС Windows относятся WinRAR, WinArj и WinZip.

Основные функции архиваторов:

- извлечение файлов из архивов;

- создание новых архивов;

- доставление файлов в имеющийся архив;

- создание самораспаковывающихся архивов;

- создание распределенных архивов (на нескольких дискетах);

- тестирование целостности структуры архива;

- полное или частичное восстановление архивов;

- защита архивов от просмотра и изменения.

Самораспаковывающийся архив имеет расширение «ехе» и создается на базе обычного архива путем присоединения к нему небольшого программного модуля. Запуск архива (как программы) – двойной щелчок, распаковка происходит автоматически.

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

Защита архива – с помощью пароля (рекомендуется использовать в пароле русские буквы, латинские буквы и знаки препинания - трудно «взломать»).

Современные архиваторы отличаются большим объемом функциональных возможностей. Поэтому их называют диспетчерами архивов.

Дополнительные возможности диспетчеров архивов:

- просмотр файлов различных форматов без извлечения их из архива;

- поиск файлов и данных внутри архива;

- установку программ из архивов без предварительной распаковки;

- проверку на наличие вируса в архиве до его распаковки;

- выбор и настройку коэффициента сжатия информации;

- создание самораспаковывающихся многотомных архивов и др.

Эти функции часто реализуются с подключением дополнительных служебных программ.


Этапы подготовки и решения задач на ЭВМ

ЭВМ применяются для решения различных задач практически во всех областях человеческой деятельности. Сколь бы по своей сложности ни различались задачи, их решение на ЭВМ имеет ряд общих этапов.

Обычно выделяются следующие этапы.

1). Постановка задачи.

На этом этапе определяются:

а) точное описание данных для решения задачи;

б) желаемые результаты решения задачи;

в) дополнительные условия, которые могут быть наложены на решение задачи.

2). Разработка математической модели решаемой задачи (формализация). Математическая модель может быть очень простой, например, при решении квадратного уравнения, или очень сложной, содержащей десятки тысяч линейных уравнений, например, в случае решения задачи межотраслевого баланса. Если математической модели нет, то решать задачу на ЭВМ бессмысленно.

3). Выбор метода решения задачи. Метод выбирается в соответствии с требованиями, предъявляемыми в постановке задачи. Если существует несколько методов решения, то выбирают лучший. Критериями выбора могут быть точность решения (точное или приближенное), время выполнения программы, стоимость разработки и т. д.

4). Разработка алгоритма решения задачи и запись его в виде блок-схемы. Алгоритм – это руководство к действию конкретного исполнителя. Относительно ЭВМ:

Алгоритм – это конечная последовательность предписаний (действий), определяющая процесс преобразования исходных данных и промежуточных результатов в результат решения задачи.

Алгоритм должен обладать следующими свойствами (отвечать требованиям):

а) определенность – описание процесса решения задачи должно быть однозначно, т. е. при выполнении алгоритма у исполнителя не должно возникать ситуаций, не предусмотренных в алгоритме;

б) конечность – решение задачи должно быть получено после выполнения конечного числа действий;

в) массовость – алгоритм должен давать решение целого класса задач, отличающихся исходными данными;

г) дискретность – алгоритм представляет собой конечную последовательность шагов; значение величин в каждый момент времени получаются по определенным правилам из значений величин, имевшихся в предшествующий момент времени.

Алгоритм может быть записан в словесной форме или в виде блок-схемы - графическое, компактное и наглядное изображение алгоритма. Блок-схема состоит из графических символов действий. Каждому типу действий соответствует определенная геометрическая фигура. Внутри фигуры (блока) записывается содержание выполняемого действия. Порядок выполнения действий указывается линиями связи. Существует три типа структур алгоритма:

1. Последовательность действий (линейный вычислительный процесс)

2. Структура выбора (разветвляющийся вычислительный процесс)

3. Итерация (циклический вычислительный процесс)

5). Программирование задачи – запись алгоритма решения задачи на одном из языков программирования – написание программы.

Программа – последовательность инструкций, записанных на языке программирования и определяющих какие действия, с какими данными и в какой последовательности должна выполнить ЭВМ для получения результата решения задачи.

Языки программирования делятся на три группы: проблемно-ориентированные, машинно-ориентированные и системы управления базами данных.

К 1-ой группе относятся: Бейсик, Паскаль, Фортран, Кобол, Си, Лисп и др.

Ко 2-ой группе относятся языки низкого уровня, Ассемблеры.

Третью группу составляют системы управления базами данных: dBase, FoxPro, Access и др.

6). Трансляция программы.

После написания программы ее текст необходимо ввести в ЭВМ. Перед выполнением программы, написанной на алгоритмическом языке программирования, она должна быть оттранслирована в эквивалентную программу, написанную на машинном языке – языке кодов. Эта операция выполняется специальной программой – транслятором (переводчик).При трансляции создается новый программный файл с расширением «.exe». Существует два вида трансляторов – интерпретаторы и компиляторы.

- Интерпретатор переводит каждую строку исходной программы в машинные коды перед ее выполнением, т. е. выполнение программы производится построчно. При такой трансляции снижается расход памяти – нет необходимости хранить всю оттранслированную программу. Недостатком является существенное увеличение времени выполнения программы.

- Компилятор сначала транслирует всю программу в машинные коды, затем выполняется сразу вся программа. Для хранения откомпилированной программы требуется довольно большой объем памяти, но обеспечивается высокая скорость выполнения программы.

Все трансляторы имеют средства обнаружения ошибок в процессе трансляции. Могут быть обнаружены только синтаксические ошибки, связанные с нарушением правил написания предложений языка. При этом трансляция прекращается, выводится на экран дисплея сообщение об ошибке.

7). Тестирование и отладка программы.

Отсутствие синтаксических ошибок в программе не означает отсутствие других, например, логических ошибок, связанных с указанием неправильных действий. Цель этого этапа – выявить и исправить ошибки. Тестирование программы заключается в составлении и задании наборов исходных данных, как правильных, так и неправильных.

8). Решение задачи на ЭВМ.

Готовятся исходные данные для программы, программа запускается на выполнение и выдает на экран или бумагу полученные результаты.

9). Составление документации.

Производится обработка и оформление результатов.

Документация должна содержать:

· Постановку задачи

· Математическое описание

· Описание данных

· Алгоритм (чаще всего в виде блок-схемы)

· Текст программы с комментариями

· Набор данных для тестирования

 

Основы программирования на Visual Basic