Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 3 Сложные типы данных.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
72.7 Кб
Скачать

Вариантные записи

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

Форма 1 переменной (вариантной) части записи:

TYPE SEL = тип ; ... описание фиксированной части записи CASE SEL OF

Метка-1 : ( список-полей );

Метка-2 : ( список-полей ); ... END ;

Форма 2 переменной (вариантной) части записи:

TYPE SEL = тип ; ... описание фиксированной части записи CASE PR : SEL OF

Метка-1 : ( список-полей ) ;

Метка-2 : ( список-полей ) ; ...

END ;

где SEL - имя типа ключа PR и меток для выбора варианта;

PR - имя переменной - селектора (ключа) выбора варианта; оно должно получить значение до использования вариантной части записи;

элемент списка-полей - это список-идентификаторов-полей : тип.

Ограничения:

  1. в описании записи может быть только одна вариантная часть;

  2. все идентификаторы в списках полей одной записи должны быть различны; однако, на разных уровнях вложенности полей одной записи и в разных записях имена могут повторяться;

  3. вариантная часть записи должна быть последним ее элементом.

  1. Множества

Множество в математике - это произвольный набор объектов любой при­роды, понимаемый как единое целое. На языке Паскаль множество - это ог­раниченная совокупность различных элементов базового типа множества. Ко­личество элементов, входящих в множество, может быть в пределах от 0 до 255. Данные переменной типа множества могут быть в виде множества-переменной и множества-константы (конструктора).

Описатель переменной типа множества - SET. Объявление переменной ти­па множества определяет базовый тип, т. е. состав элементов, из значений которых создаются конкретные значения множественного типа, и мощность множества (максимальное количество его элементов). В качестве базового типа может быть любой ординальный (порядковый) тип данных, кроме типов WORD, INTEGER и LONGINT. В том числе в качестве базового типа может быть тип BYTE, SHORTINT, логический (BOOLEAN), символьный (CHAR), пе­речисляемый и диапазонный тип (для целых 0 .. 255).

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

Тип переменной-множества может быть определен в разделе TYPE или VAR. Форма определения множественного типа:

TYPE имя-типа-множества = SET OF базовый-тип ;

Примеры объявления данных переменной типа множества:

TYPE MN = SET OF 2..100; { Диапазонный тип }

VRGODA = (VESNA,LETO,OSEN,ZIMA);{Перечисляемый тип }