Структурированные типы данных.

Развитие в вычислительной технике сопровождалось эволюцией представления о роли данных. Одним из свойств компьютеров является способность хранить и обрабатывать большие объемы информации и обеспечивать легкий доступ к этой информации. Информация, подлежащая обработке, представляет некоторый абстрактный фрагмент реального мира. Данные, хранящиеся в компьютере - это абстрактное представление реальности, поскольку некоторые свойства и характеристики реальных объектов при этом игнорируются как несущественные. Например, каждый сотрудник в списке сотрудников некоторого учреждения представлен множеством данных. Это множество включает идентифицирующие данные и данные, относящиеся к профессиональной сфере деятельности. Таким образом, данные о человеке – некий снимок с человека, абстрактное представление.

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

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

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

Структурированные типы данных классифицируют по следующим признакам:

· однородность;

· упорядоченность;

· вид доступа - прямой или последовательный;

· вид организации - статическая или динамическая.

Если все элементы, образующие структуру, однотипны, например, символы, целые числа, то структура называется однородной. Если в ней присутствуют элементы разных типов, то структура называется неоднородной.

Структура является упорядоченной, если между ее элементами определен порядок следования. Примером упорядоченной структуры является числовая последовательность. Наличие индекса в записи элементов структуры указывает на ее упорядоченность.

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

Если у структуры размер (длина, количество элементов) не может быть изменен при выполнении, а фиксируется заранее, то такая структура называется статической. Соответственно, если размер структуры определяется по ходу решения задачи и меняется при необходимости, то такую структуру называют динамической. Например, такие структуры возникают при описании закономерностей движения очередей.

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

Обобщением массива является комбинированный тип данных – запись.

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

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

1) новые компоненты добавляются только в хвост очереди

2) значения компонент могут извлекаться только в порядке следования от головы к хвосту очереди (первым вошел – первым вышел, FIFO –First Input First Output).

Стек – это структура данных, в которой тот элемент, который последним в нее помещался, выходит первым (LIFO – Last Input First Output), второе название стека – магазин –по аналогии с магазином стрелкового оружия.

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