Массивом называют однородный набор величин одного и того же типа, называемых компонентами массива, объединенных одним общим именем и идентифицируемых вычисляемым индексом. Компонентами массива могут быть не только простейшие данные, но и структурные, в том числе массивы.
Обобщением массива является комбинированный тип данных – запись, являющаяся неоднородной упорядоченной статической структурой прямого доступа. Запись есть набор именованных компонент – полей (часто разного типа), объединенных одним общим именем и идентифицируемых (адресуемых) с помощью как имени записи, так и имен полей.
Очередь есть линейно упорядоченный набор следующих друг за другом компонент, доступ к которым происходит по следующим правилам:
1) новые компоненты могут добавляться лишь в хвост очереди;
2) значения компонент могут читаться (извлекаться) лишь в порядке следования компонент от головы к хвосту очереди.
Размер очереди заранее не оговаривается и теоретически может считаться бесконечным. Для запоминания (хранения) компонент очереди часто используют внешне запоминающие устройства большой емкости – магнитные диски и ленты. Отсюда другое название очереди – файл.
2. Проводимые операции с данными
В ходе информационного процесса данные преобразуются из одного вида в другой с помощью различных и всевозможных методов. Компьютерная обработка данных включает в себя множество различных операций. По мере развития научно-технического прогресса и общего усложнения связей в человеческом обществе трудозатраты на обработку данных неуклонно возрастают. Прежде всего, это связано с постоянным усложнением условий управления производством и обществом. Второй фактор, также вызывающий общее увеличение объемов обрабатываемых данных, тоже связан с научно-техническим прогрессом, а именно с быстрыми темпами появления и внедрения новых носителей данных, средств их хранения и доставки.
В структуре возможных операций с данными можно выделить следующие основные:
• сбор данных – накопление информации с целью обеспечения достаточной полноты для принятия решений;
• формализация данных – приведение данных, поступающих из разных источников, к одинаковой форме, чтобы сделать их сопоставимыми между собой, то есть повысить их уровень доступности;
• фильтрация данных – отсеивание «лишних» данных, в которых нет необходимости для принятия решений; при этом должен уменьшаться уровень «шума», а достоверность и адекватность данных должны возрастать;
• сортировка данных – упорядочение данных по заданному признаку с целью удобства использования; повышает доступность информации;
• архивация данных – организация хранения данных в удобной и легкодоступной форме; служит для снижения экономических затрат по хранению данных и повышает общую надежность информационного процесса в целом;
• защита данных – комплекс мер, направленных на предотвращение утраты, воспроизведения и модификации данных;
• транспортировка данных – прием и передача (доставка и поставка) данных между удаленными участниками информационного процесса; при этом источник данных в информатике принято называть сервером, а потребителя – клиентом;
• преобразование данных – перевод данных из одной формы в другую или из одной структуры в другую. Преобразование данных часто связано с изменением типа носителя: например книги можно хранить в обычной бумажной форме, но можно использовать для этого и электронную форму, и микрофотопленку.
Необходимость в многократном преобразовании данных возникает также при их транспортировке, особенно если она осуществляется средствами, не предназначенными для транспортировки данного вида данных. Например, для транспортировки цифровых потоков данных по каналам телефонных сетей необходимо преобразование цифровых данных в некое подобие звуковых сигналов, чем и занимаются специальные устройства – телефонные модемы.
3. Кодирование данных
Система кодирования применяется для замены названия объекта на условное обозначение (код) в целях обеспечения удобной и более эффективной обработки информации.
Система кодирования– совокупность правил кодового обозначения объектов.
Кодирование и хранение данных в компьютере должно обеспечивать не только надежное декодирование, но и защиту инфоpмации от разного pода сбоев, помех, вирусов, несанкционированного доступа и тому подобному.
Помехоустойчивое кодирование связано обычно с введением в кодовые комбинации двоичных символов избыточной инфоpмации, необходимой для обнаружения сбоев.
Рисунок 3. Процесс передачи сообщения от источника к приёмникуПомехоустойчивое кодирование связано обычно с введением в кодовые комбинации двоичных символов избыточной инфоpмации, необходимой для обнаружения сбоев.
Для автоматизации работы с данными, относящимися к различным типам, очень важно унифицировать их форму представления – для этого обычно используется прием кодирования, то есть выражение данных одного типа через данные другого типа.
Кодирование данных двоичным кодом
В вычислительной технике существует своя система кодирования – она называется двоичным кодированиемоснована на представлении данных последовательностью всего двух знаков: 0 и 1. Эти знаки называются двоичными цифрами или сокращенно бит.
Одним битом могут быть выражены два понятия: 0 или 1 (да или нет, черное или белое, истина или ложь и тому подобное). Если количество битов увеличить до двух, то уже можно выразить четыре различных понятия.
Увеличивая на единицу количество разрядов в системе двоичного кодирования, мы увеличиваем в два раза количество значений, которое может быть выражено в данной системе.
Кодирование целых и действительных чисел
Целые числа кодируются двоичным кодом достаточно просто – достаточно взять целое число и делить его пополам до тех пор, пока в остатке не образуется ноль или единица. Совокупность остатков от каждого деления, записанная справа налево вместе с последним остатком, и образует двоичный аналог десятичного числа.
Для кодирования целых чисел от 0 до 255 достаточно иметь 8 разрядов двоичного кода (8 бит). Шестнадцать бит позволяют закодировать целые числа от 0 до 65535, а 24 бита – уже более 16,5 миллионов разных значений.
Для кодирования действительных чисел используют 80-разрядное кодирование. При этом число предварительно преобразуется в нормализованную форму.
Первая часть числа называется мантиссой, а вторая – характеристикой. Большую часть из 80 бит отводят для хранения мантиссы и некоторое фиксированное количество разрядов отводят для хранения характеристики.
Кодирование текстовых данных
Если каждому символу алфавита сопоставить определенное целое число, то с помощью двоичного кода можно кодировать и текстовую информацию. Восьми двоичных разрядов достаточно для кодирования 256 различных символов. Этого хватит, чтобы выразить различными комбинациями восьми битов все символы английского и русского языков, как строчные, так и прописные, а также знаки препинания, символы основных арифметических действий и некоторые общепринятые специальные символы.
Для того чтобы весь мир одинаково кодировал текстовые данные, нужны единые таблицы кодирования, а это пока невозможно из-за противоречий между символами национальных алфавитов, а также противоречий корпоративного характера.
Универсальная система кодирования текстовых данных
Если проанализировать организационные трудности, связанные с созданием единой системы кодирования текстовых данных, то можно прийти к выводу, что они вызваны ограниченным набором кодов (256). В то же время очевидно, что если, например, кодировать символы не восьмиразрядными двоичными числами, а числами с большим количеством разрядов, то и диапазон возможных значений кодов станет намного больше. Такая система, основанная на 16-разрядном кодировании символов, получила название универсальной.Шестнадцать разрядов позволяют обеспечить уникальные коды для 65 536 различных символов – этого поля достаточно для размещения в одной таблице символов большинства языков планеты.
Кодирование графических данных
Любое черно-белое графическое изображение, напечатанное в газете или книге, состоит из мельчайших точек, образующих характерный узор, называемый растром.
Рисунок 4. Пример чёрно-белого рисунка с видимым растром
Растр – это метод кодирования графической информации, издавна принятый в полиграфии.
Поскольку линейные координаты и индивидуальные свойства каждой точки (яркость) можно выразить с помощью целых чисел, то можно сказать, что растровое кодирование позволяет использовать двоичный код для представления графических данных. Общепринятым на сегодняшний день считается представление черно-белых иллюстраций в виде комбинации точек с 256 градациями серого цвета, и, таким образом, для кодирования яркости любой точки обычно достаточно восьмиразрядного двоичного числа.
Для кодирования цветных графических изображений применяется принцип декомпозиции произвольного цвета на основные составляющие. В качестве таких составляющих используют три основные цвета: красный, зеленый и синий. На практике считается (хотя теоретически это не совсем так), что любой цвет, видимый человеческим глазом, можно получить путем механического смешения этих трех основных цветов.