Файл: Предмет и основные понятия информатики.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 30.11.2023

Просмотров: 87

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
обратимым. В этом случае, из архива можно восстановить информацию полностью. Обратимые методы сжатия можно применять к любым типам данных, но они дают меньшую степень сжатия по сравнению с необратимыми методами сжатия. Примеры форматов сжатия без потери информации:
• GIF, TIFF — для графических данных;
• AVI — для видеоданных;
• ZIP, ARJ, RAR, CAB, LH — для произвольных типов данных.
Существует много разных практических методов сжатия без потери информации, которые, как правило, имеют разную эффективность для разных типов данных и разных объемов. Однако, в основе этих методов лежат три теоретических алгоритма:
• алгоритм RLE (Run Length Encoding);
• алгоритмы группы KWE(KeyWord Encoding);
• алгоритм Хаффмана.

Барвенов С.А. ____________________________________________________________________________ 11
Алгоритм RLE
В основе алгоритма RLE лежит идея выявления повторяющихся последовательностей данных и замены их более простой структурой, в которой указывается код данных и коэффициент повторения.
Например, пусть задана такая последовательность данных, что подлежит сжатию:
1 1 1 1 2 2 3 4 4 4
В алгоритме RLE предлагается заменить ее следующей структурой: 1 4 2 2 3 1 4 3, где первое число каждой пары чисел — это код данных, а второе — коэффициент повторения. Если для хранения каждого элемента данных входной последовательности отводится 1 байт, то вся последовательность будет занимать
10 байт памяти, тогда как выходная последовательность (сжатый вариант) будет занимать 8 байт памяти.
Коэффициент сжатия, характеризующий степень сжатия, можно вычислить по формуле: где Vx— объем памяти, необходимый для хранения выходной (результирующей) последовательности данных, Vn— входной последовательности данных.
Чем меньше значение коэффициента сжатия, тем эффективней метод сжатия. Понятно, что алгоритм
RLE будет давать лучший эффект сжатия при большей длине повторяющейся последовательности данных.
В случае рассмотренного выше примера, если входная последовательность будет иметь такой вид: 1 1 1 1 1 1 3 4 4 4, то коэффициент сжатия будет равен 60%. В связи с этим большая эффективность алгоритма RLE достигается при сжатии графических данных (в особенности для однотонных изображений).
Алгоритмы группы KWE
В основе алгоритма сжатия по ключевым словам положен принцип кодирования лексических единиц группами байт фиксированной длины. Примером лексической единицы может быть обычное слово. На практике, на роль лексических единиц выбираются повторяющиеся последовательности символов, которые кодируются цепочкой символов (кодом) меньшей длины. Результат кодирования помещается в таблице, образовывая так называемый словарь.
Существует довольно много реализаций этого алгоритма, среди которых наиболее распространенными являются алгоритм Лемпеля—Зіва (алгоритм LZ) и его модификация алгоритм
Лемпеля—Зіва—Велча (алгоритм LZW). Словарем в данном алгоритме является потенциально бесконечный список фраз. Алгоритм начинает работу с почти пустым словарем, который содержит только одну закодированную строку, так называемая NULL—строка. При считывании очередного символа входной последовательности данных, он прибавляется к текущей строке. Процесс продолжается до тех пор, пока текущая строка соответствует какой—нибудь фразе из словаря. Но рано или поздно текущая строка перестает соответствовать какой—нибудь фразе словаря. В момент, когда текущая строка представляет собой последнее совпадение со словарем плюс только что прочитанный символ сообщения, кодер выдает код, который состоит из индекса совпадения и следующего за ним символа, который нарушил совпадение строк. Новая фраза, состоящая из индекса совпадения и следующего за ним символа, прибавляется в словарь. В следующий раз, если эта фраза появится в сообщении, она может быть использована для построения более длинной фразы, что повышает меру сжатия информации.
Алгоритм LZW построен вокруг таблицы фраз (словаря), которая заменяет строки символов сжимаемого сообщения в коды фиксированной длины. Таблица имеет так называемое свойством опережения, то есть для каждой фразы словаря, состоящей из некоторой фразы w и символа К, фраза w тоже заносится в словарь. Если все части словаря полностью заполнены, кодирование перестает быть адаптивным (кодирование происходит исходя из уже существующих в словаре фраз).
Алгоритмы сжатия этой группы наиболее эффективны для текстовых данных больших объемов и малоэффективны для файлов маленьких размеров (за счет необходимости сохранение словаря).
Алгоритм Хаффмана
В основе алгоритма Хаффмана лежит идея кодирования битовыми группами. Сначала проводится частотный анализ входной последовательности данных, то есть устанавливается частота вхождения каждого символа, встречащегося в ней. После этого, символы сортируются по уменьшению частоты вхождения.
Основная идея состоит в следующем: чем чаще встречается символ, тем меньшим количеством бит он кодируется. Результат кодирования заносится в словарь, необходимый для декодирования. Рассмотрим простой пример, иллюстрирующий работу алгоритма Хаффмана.
Пусть задан текст, в котором бурва 'А' входит 10 раз, буква 'В' — 8 раз, 'С'— 6 раз , 'D' — 5 раз, 'Е' и 'F'
— по 4 раза. Тогда один из возможных вариантов кодирования по алгоритму Хаффмана приведен в таблицы
1.
Таблица 1.
Символ
Частота вхождения
Битовый код


Барвенов С.А. ____________________________________________________________________________ 12
A 10 00
B 8 01
C 6 100
D 5 101
E 4 110
F 4 111
Как видно из таблицы 1, размер входного текста до сжатия равен 37 байт, тогда как после сжатия —
93 бит, то есть около 12 байт (без учета длины словаря). Коэффициент сжатия равен 32%. Алгоритм
Хаффмана универсальный, его можно применять для сжатия данных любых типов, но он малоэффективен для файлов маленьких размеров (за счет необходимости сохранение словаря).
На практике программные средства сжатия данных синтезируют эти три "чистых" алгоритмы, поскольку их эффективность зависит от типа и объема данных. В таблице 2 приведены распространенные форматы сжатия и соответствующие им программыи—архиваторы, использующиеся на практике.
Таблица 2.
Операционная система MS DOS Операционная система Windows
Формат сжатия
Программа архивации
Программа разархивации
Программа архивации
Программа разархивации
ARJ Arj.exe Arj.exe
WinArj.exe
WinArj.exe
RAR Rar.exe Unrar.exe WinRar.exe
WinRar.exe
ZIP Pkzip.exe
Pkunzip.exe
WinZip.exe
WinZip.exe
Кроме того, современные архиваторы предоставляют пользователю полный спектр услуг для работы с архивами, основными из которых являются:
1. создание нового архива;
2. добавление файлов в существующий архив;
3. распаковывание файлов из архива;
4. создание самораспаковающихся архивов (self—extractor archive);
5. создание распределенных архивов фиксированного размера для носителей маленькой емкости;
6. защита архивов паролями от несанкционированного доступа;
7. просмотр содержимого файлов разных форматов без предварительного распаковывания;
8. поиск файлов и данных внутри архива;
9. проверка на вирусы в архиве к распаковыванию;
10. выбор и настройка коэффициента сжатия.
Контрольные вопросы
1. Какие факторы влияют на степень избыточности данных?
2. Что такое архив? Какие программные средства называются архиваторами?
3. Почему методы сжатия, при которых происходит изменение содержимого данных, называются необратимыми?
4. Приведите примеры форматов сжатия с потерями информации.
5. В чем состоит преимущество обратимых методов сжатия над необратимыми? А недостаток?
6. Которая существует зависимость между коэффициентом сжатия и эффективностью метода сжатия?
7. В чем состоит основная идея алгоритма RLE?
8. В чем состоит основная идея алгоритмов группы KWE?
9. В чем состоит основная идея алгоритма Хаффмана?
10. Какие вы знаете програми—архиваторы? Коротко охарактеризуйте их.
Список рекомендованной литературы
1. Информатика. Базовый курс. / Под ред. С.В.Симоновича. — СПб., 2000 г.
2. А.П.Микляев, Настольная книга пользователя IBM PC 3—издание М.:, "Солон—Р", 2000, 720 с.
3. Симонович С.В., Евсеев Г.А., Мураховский В.И. Вы купили компьютер: Полное руководство для начинающих в вопросах и ответах. — М.: АСТ—ПРЕСС КНИГА; Инфорком—Пресс, 2001.— 544 с.: ил. (1000 советов).
4. Ковтанюк Ю.С., Соловьян С.В. Самоучитель работы на персональном компьютере — К.:Юниор,
2001.— 560с., ил.


Барвенов С.А. ____________________________________________________________________________ 13
" Программное обеспечение"
В основу работы компьютеров положен программный принцип управления, состоящий в том, что компьютер выполняет действия по заранее заданной программе. Этот принцип обеспечивает универсальность использования компьютера: в определенный момент времени решается задача соответственно выбранной программе. После ее завершения в память загружается другая программа и т.д.
Программа — это запись алгоритма решения задачи в виде последовательности команд или операторов языком, который понимает компьютер. Конечной целью любой компьютерной программы является управление аппаратными средствами.
Для нормального решения задач на компьютере нужно, чтобы программа была отлажена, не требовала доработок и имела соответствующую документацию. Поэтому, относительно работы на компьютере часто используют термин программное обеспечение (software), под которым понимают совокупность программ, процедур и правил, а также документации, касающихся функционирования системы обработки данных.
Программное и аппаратное обеспечение в компьютере работают в неразрывной связи и взаимодействии. Состав программного обеспечения вычислительной системы называется программной конфигурацией. Между программами существует взаимосвязь, то есть работа множества программ базируется на программах низшего уровня.
Междупрограммный интерфейс — это распределение программного обеспечения на несколько связанных между собою уровней. Уровни программного обеспечения представляют собой пирамиду, где каждый высший уровень базируется на программном обеспечении предшествующих уровней. Схематично структура программного обеспечения приведена на рис. 1.
Прикладной уровень
Служебный уровень
Системный уровень
Базовый уровень
Базовый уровень
Базовый уровень является низшим уровнем программного обеспечения. Отвечает за взаимодействие с базовыми аппаратными средствами. Базовое программное обеспечение содержится в составе базового аппаратного обеспечения и сохраняется в специальных микросхемах постоянного запоминающего устройства (ПЗУ), образуя базовую систему ввода—вывода BIOS. Программы и данные записываются в
ПЗУ на этапе производства и не могут быть изменены во время эксплуатации.
Системный уровень
Системный уровень — является переходным. Программы этого уровня обеспечивают взаимодействие других программ компьютера с программами базового уровня и непосредственно с аппаратным обеспечением. От программ этого уровня зависят эксплуатационные показатели всей вычислительной системы. При подсоединении к компьютеру нового оборудования, на системном уровне должна быть установлена программа, обеспечивающая для остальных программ взаимосвязь с устройством. Конкретные программы, предназначенные для взаимодействия с конкретными устройствами, называют драйверами.
Другой класс программ системного уровня отвечает за взаимодействие с пользователем. Благодаря ему, можно вводить данные в вычислительную систему, руководить ее работой и получать результат в удобной форме. Это средства обеспечения пользовательского интерфейса, от них зависит удобство и производительность работы с компьютером.
Совокупность программного обеспечения системного уровня образует ядро операционной системы компьютера. Наличие ядра операционной системы — это первое условие для возможности практической работы пользователя с вычислительной системой. Ядро операционной системы выполняет такие функции: управление памятью, процессами ввода—вывода, файловой системой, организация взаимодействия и диспетчеризация процессов, учет использования ресурсов, обработка команд и т.д.
Служебный уровень
Программы этого уровня взаимодействуют как с программами базового уровня, так и с программами системного уровня. Назначение служебных программ (утилит) состоит в автоматизации работ по проверке и настройки компьютерной системы, а также для улучшения функций системных программ. Некоторые служебные программы (программы обслуживания) сразу входят в состав операционной системы, дополняя ее ядро, но большинство являются внешними программами и расширяют функции операционной системы.
То есть, в разработке служебных программ отслеживаются два направления: интеграция с операционной системой и автономное функционирование.


Барвенов С.А. ____________________________________________________________________________ 14
Классификация служебных программных средств
1. Диспетчеры файлов (файловые менеджеры). С их помощью выполняется большинство операций по обслуживанию файловой структуры: копирование, перемещение, переименование файлов, создание каталогов (папок), уничтожение объектов, поиск файлов и навигация в файловой структуре. Базовые программные средства содержатся в составе программ системного уровня и устанавливаются вместе с операционной системой
2. Средства сжатия данных (архиваторы). Предназначены для создания архивов. Архивные файлы имеют повышенную плотность записи информации и соответственно, эффективнее используют носители информации.
3. Средства диагностики. Предназначены для автоматизации процессов диагностики программного и аппаратного обеспечения. Их используют для исправления ошибок и для оптимизации работы компьютерной системы.
4. Программы инсталляции (установки). Предназначены для контроля за добавлением в текущую программную конфигурацию нового программного обеспечения. Они следят за состоянием и изменением окружающей программной среды, отслеживают и протоколируют образование новых связей, утерянных во время уничтожения определенных программ. Простые средства управления установлением и уничтожением программ содержатся в составе операционной системы, но могут использоваться и дополнительные служебные программы.
5. Средства коммуникации. Разрешают устанавливать соединение с удаленными компьютерами, передают сообщения электронной почты, пересылают факсимильные сообщения и т.п..
6. Средства просмотра и воспроизведения. Преимущественно, для работы с файлами, их необходимо загрузить в "родную" прикладную программу и внести необходимые исправления. Но, если редактирование не нужно, существуют универсальные средства для просмотра (в случае текста) или воспроизведения (в случае звука или видео) данных.
7. Средства компьютерной безопасности. К ним относятся средства пассивной и активной защиты данных от повреждения, несанкционированного доступа, просмотра и изменения данных. Средства пассивной защиты — это служебные программы, предназначенные для резервного копирования. Средства активной защиты применяют антивирусное программное обеспечение. Для защиты данных от несанкционированного доступа, их просмотра и изменения используют специальные системы, базирующиеся на криптографии.
Прикладной уровень
Программное обеспечение этого уровня представляет собой комплекс прикладных программ, с помощью которых выполняются конкретные задачи (производственных, творческих, развлекательных и учебных). Между прикладным и системным программным обеспечением существует тесная взаимосвязь.
Универсальность вычислительной системы, доступность прикладных программ и широта функциональных возможностей компьютера непосредственно зависят от типа имеющейся операционной системы, системных средств, помещенных в ее ядро и взаимодействии комплекса человек—программа—оборудование.
Классификация прикладного программного обеспечения
1. Текстовые редакторы. Основные функции — это ввод и редактирование текстовых данных. Для операций ввода, вывода и хранения данных текстовые редакторы используют системное программное обеспечение. С этого класса прикладных программ начинают знакомство с программным обеспечением и на нем приобретают первые привычки работы с компьютером.
2. Текстовые процессоры. Разрешают форматировать, то есть оформлять текст. Основными средствами текстовых процессоров являются средства обеспечения взаимодействия текста, графики, таблиц и других объектов, составляющих готовый документ, а также средства автоматизации процессов редактирования и форматирования. Современный стиль работы с документами имеет два подхода: работа с бумажными документами и работа с электронными документами. Приемы и методы форматирования таких документов различаются между собой, но текстовые процессоры способны эффективно обрабатывать оба вида документов.
3. Графические редакторы. Широкий класс программ, предназначенных для создания и обработки графических изображений. Различают три категории:
• растровые редакторы;
• векторные редакторы;
• 3—D редакторы (трехмерная графика).
В растровых редакторах графический объект представлен в виде комбинации точек (растров), которые имеют свою яркость и цвет. Такой подход эффективный, когда графическое изображение имеет много цветов и информация про цвет элементов намного важнее, чем информация про их форму. Это


Барвенов С.А. ____________________________________________________________________________ 15 характерно для фотографических и полиграфических изображений. Применяют для обработки изображений, создания фотоэффектов и художественных композиций.
Векторные редакторы отличаются способом представления данных изображения. Объектом является не точка, а линия. Каждая линия рассматривается, как математическая кривая ІІІ порядка и представлена формулой. Такое представление компактнее, чем растровое, данные занимают меньше места, но построение объекта сопровождается пересчетом параметров кривой в координаты экранного изображения, и соответственно, требует более мощных вычислительных систем. Широко применяются в рекламе, оформлении обложек полиграфических изданий.
1   2   3   4