Сложные типы данных
Диапазонный тип данных.
Перечисляемый тип данных.
Типы данных определяемые пользователем
Кроме предопределенных (встроенных) типов данных язык Паскаль позволяет программисту при необходимости вводить новые типы объектов. Определение новых (пользовательских) типов базируется на встроенных типах, используя их в качестве строительных блоков новой конструкции, и производится в объединенном подразделе раздела описания.
Перечисляемый тип данных используется в основном в качестве индексов массивов и в операторах организации процесса обработки данных. Он определяется в виде упорядоченного списка констант, заданных их перечислением. Определение типа может быть в разделе TYPE или VAR. Каждое значение константы – идентификатор.
Форма определения:
TYPE имя – типа = ( список– значений – констант ) ;
Например:
TYPE
SVET = ( KR, ORG, GEL, ZEL, GOL, SIN, FIOL ) ;
NEDELYA = ( PN, WT, SR, CHT, PT, SB, WS ) ;
Диапазонный (интервальный) тип данных представляет собой подмножество значений другого, базового типа. Диапазонный тип данных может быть задан как интервал ранее определенного перечисляемого или стандартного типа, кроме REAL. Диапазонный тип применяется, если переменная должна использоваться для представления подмножества значений определенного скалярного типа, например типа INTEGER. Диапазонный тип сохраняет все свойства исходного типа с учетом ограниченного диапазона его значений. Для него применимы все функции и операции исходного (базового) типа.
Диапазонный тип данных можно определить в разделе TYPE или VAR.
Форма определения диапазонного типа:
TYPE имя типа = <н.г.> .. <в.г.>, где н.г. и в.г. – значения соответственно нижней и верхней границ подмножества значений базового множества. Н.г. должна быть меньше в.г. Две точки между ними означают наличие между ними еще хотя бы одного значения.
Пример 1. Определения в разделе TYPE.
TYPE
M = 1..20;
SEZON = VESNA .. OSEN ;
VAR
VREM : SEZON ; X, Y, Z : M ;
Если на одном базовом типе определено несколько интервальных типов, то переменные этих типов можно использовать в одном выражении.
В стандартную библиотеку Турбо Паскаля включены две функции, поддерживающие работу с типами-диапазонами:
HIGH(X) – возвращает максимальное значение типа-диапазона, к которому принадлежит переменная X.
LOW(X) – возвращает минимальное значение типа-диапазона.
В реальной жизни для описания объекта любой природы необходимо использовать большое количество элементарных данных: как однотипных, так и разноплановых. Работа с ними значительно упрощается если они объединены в группы. В Паскале такие группы называют сложными данными (структурированными, составными, агрегированными), построенными из простых типов данных, как из кирпичиков. К сложным типам данных в Паскале относятся: массивы, записи, множества, файлы.
Каждый сложный тип данных характеризуется типом компонентов и методом их объединения, т.е. структурой.
|
Таким образом, любой из структурированных типов данных характеризуется множественностью образующих его элементов. Переменная или константа сложного типа всегда имеет несколько компонентов, каждый из которых, в свою очередь, может принадлежать к структурированному типу. В Паскале допускается произвольная глубина вложенности типов. Ограничение накладывается только на суммарную длину структурированного типа, которая не должна превышать 65520 байт.