Смекни!
smekni.com

Организация информации (стр. 3 из 4)

Пример

Возможности наиболее распространённой современной аппаратуры предусматривают работу с частотой выборки до 44,1 кГц, что позволяет правильно описывать звук частотой до 22,05 кГц. Точность выборки имеет всего два значения 8 бит и 16 бит. То есть для представления амплитуды 8-битного звука используется 28 = 256 уровней амплитуды.

Сжатие данных

Внутреннее представление данных характеризуется избыточностью. Например, при кодировании символов русского алфавита можно учесть частоту, с которой эти символы встречаются в предложениях русского языка. Тогда для цифрового представления текста потребуется меньшее количество информации. Объём данных имеет большое значение не только для хранения, но также непосредственно влияет на скорость передачи данных по каналам вычислительных сетей. Поэтому были разработаны специальные методы (алгоритмы сжатия данных [datacompression]), с помощью которых можно существенно уменьшить объём данных. Существуют как универсальные алгоритмы, которые рассматривают данные как простую последовательность битов, так и специализированные, которые предназначены для сжатия данных определённого типа (изображений, текста, звука и видео). Эффективность сжатия характеризуется коэффициентом сжатия [compressionratio], который определяется как отношение размера исходных данных к размеру сжатых. В некоторых случаях этот коэффициент достигает значения 10.

Пример

Рассмотрим принцип сжатия простейшего универсального RLE-метода. Для этого рассмотрим представление изображения, полученного в примере выше.

Особенность данного представления заключается в том, что в нём содержатся длинные последовательности подряд идущих нулей или единиц. В RLE-методе предлагается ставить сначала значение числа повторений, а затем повторяющегося числа. Тогда сжатое закодированное изображение получит вид:

С4 00 0F 80 08 80 08 80 0F 80 С4 00

Здесь число С используется как признак последовательности одинаковых символов. То есть С4 означает, что далее идёт последовательность из 4 символов. Размер хранимого изображения уменьшился с 16 до 12 байт. Коэффициент сжатия равен 1,33. Эффективность сжатия будет зависеть от размера и содержания изображения. Если то же самое изображение преобразовать в цветовую RGB-модель, то в сжатой форме оно получит вид:

СD FF F0 00 1F C3 FF F1 FF 1F C3 FF F1 FF 1F C3 FF F0 00 1F CE FF

То есть вместо 48 байт сжатое изображение занимает 22 байта, а коэффициент сжатия равен 2,18.

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

Пример

Наиболее популярными являются графические форматы: BMP [BitMaP], PCX, GIF [GraphicsInterchangeFormat], TIFF [TaggedImageFileFormat], JPEG [JointPhotographicExpertsGroup], которые по существу различаются между собой используемыми методами сжатия. Форматы BMP и PCX используют RLE-алгоритм, форматы GIF и TIFF – LZW-алгоритм, JPEG использует одноимённый алгоритм сжатия.

Звук и видео также требуют для своего цифрового представления очень большого объёма памяти, поэтому без алгоритмов сжатия работа с видео и звуковыми данными была бы невозможной. Фактическим стандартом для представления звука стал формат MP3, а для представления видеоданных – формат MPEG.

Внешнее представление данных

Файлы и каталоги

Любые данные, представленные в виде совокупности целых чисел, хранятся в памяти ЭВМ в виде файлов. Файл [file] – именованная целостная совокупность данных, причём не имеет значения, каких именно данных. Для файла данные – это лишь набор целых чисел в двоичной форме, поэтому файл – это просто последовательность байтов. Для пользователя имеют значение лишь два признака, которые характеризуют файл как таковой: имя файла и его размер. Размер файлов измеряется в байтах.

Рис. 6. Дерево каталогов


Как правило, файлы сортируются пользователем согласно определённым признакам по группам. Список такой группы называется каталогом [directory]. Таким образом, организуется особая иерархическая структура – дерево каталогов (см. рис. 1.6 – имена каталогов подчёркнуты).

Вершина такого дерева называется корневым каталогом [rootdirectory]. Имя корневого каталога всегда строго определено (на рис. 1.6 - C:\) и зависит от файловой системы (см. тему 3).

Модели и базы данных

Многие объекты в конкретных прикладных задачах могут быть представлены не в двоичной форме, а в виде сложной информационной структуры. Например, чертёж детали можно представить в виде совокупности отрезков прямых. Тогда в памяти ЭВМ нужно будет хранить не растр, а совокупность вещественных чисел, описывающих координаты концов отрезков.

Формализованное описание информационных структур и операций над ними называется моделью данных [datamodel].

Пример

Например, для описания шрифтов применяются три модели: битовая, векторная и true-type. Рассмотрим, как можно представить символ «С» с помощью битовой модели.

Битовая модель использует тот же принцип, что и битовая цветовая модель для растровых изображений. Каждому символу отводится матрица фиксированного размера. Пусть матрица имеет размер 8х10:

После такого графического представления символа, его можно описать десятью числами, размером 1 байт каждое:

00 3С 66 С0 С0 С0 66 3С 00 00

Такие описания составляются для всех символов алфавита, цифр, знаков препинания и помещаются в один файл – файл битового шрифта. Все символы, которые выводятся в текстовом режиме, представлены посредством битовых шрифтов и записаны в ПЗУ.

Рассмотренное в примерах выше изображение можно представить через описание четырёх отрезков прямых линий, задавая координаты концов отрезков:

(4,2-8,2) (4,2-4,5) (4,5-8,5) (8,5-8,2)

Для такого описания требуется 16 чисел. В результате появляется возможность различных геометрических преобразований изображения (масштабирование, повороты, растяжения и др.). Такой способ описания изображений называется векторным и широко используется в проектировании. Но нужно чётко понимать, что при выводе на экран монитора данное изображение будет представлено в растровой форме.

В реальных задачах для описания данных требуется очень много файлов, причём данные, содержащиеся в этих файлах, некоторым образом связаны между собой. Например, описание информации по деятельности некоторой судоходной компании будет включать в себя технические данные по судам компании, дислокацию судов, данные по участкам водных путей, размерам канальных и портовых сборов, данные по фрахтовым ставкам, данные для определения эксплуатационных расходов по каждому судну и т.д. Поэтому управление файлами в таких случаях оказывается очень сложным. Чтобы преодолеть эти сложности, исходные данные должны быть организованы в базу данных [database] – совокупность взаимосвязанных данных, сохраняемых и управляемых в соответствии с некоторыми правилами. Эти правила также называются моделью данных. Конкретное построение базы данных и используемая модель данных определяются решаемой задачей.

Пример

Существуют несколько моделей данных: сетевая, иерархическая, реляционная, объектно-ориентированная. В последнее время наиболее широко используемой является реляционная модель данных. Согласно этой модели все данные организуются в совокупность связанных таблиц. Вопросы, связанные с проектированием баз данных изучаются в специальном курсе «Базы и банки данных».

Обработка данных

Понятие программы

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

Программа [program, routine] – это просто последовательность команд, понятных ЭВМ, или машинных команд. Машинные команды [computerinstruction] представляют собой целые числа, принимая которые, ЭВМ производит строго определённые действия. Набор этих команд зависит от конкретной ЭВМ и носит название машинного языка [computer (machine) language]. Машинные команды, как и данные, хранятся в файлах, однако, файлу с командами можно передать управление компьютером. Такие файлы также называют программами.

Пример

Пусть в некотором файле записана следующая последовательность чисел:

B8 05 03 BB-00 00 CD 16-CD 20

Если запустить этот файл на исполнение (то есть передать ему управление ЭВМ) на ЭВМ с процессором Pentium в ОС Windows95, то клавиатура будет работать быстрее. Всего в данной последовательности закодировано четыре машинных команды.

Понятие алгоритма и алгоритмического языка

Любая программа составлена в соответствии с некоторым алгоритмом. Алгоритм [algorithm] – это конечный набор предписаний, для которого указано, как и в какой последовательности эти предписания необходимо применять к исходным данным задачи, чтобы получить её решение. Алгоритм – это общий метод решения задачи, конкретное выражение которого будет оформлено в виде программы. Алгоритм даёт возможность чисто механически решать любую задачу из некоторого класса однотипных задач. Алгоритм может быть описан различными способами: формульно, графически, посредством некоторого алгоритмического языка. Алгоритмический язык [algorithmiclanguage] – система обозначений, предназначенная для точного описания алгоритмов для ЭВМ и ли достаточная для автоматического нахождения таких алгоритмов. Такие языки являются искусственными языками со строго определёнными синтаксисом и пунктуацией, поэтому они не допускают свободного толкования для своих конструкций, как это характерно для естественного языка. Существует большое количество языков программирования, предназначенных для решения прикладных задач.