Описание типа «Множество»

Множество – это структурированный тип данных, представляющий собой набор взаимосвязанных по какому-либо признаку или группе признаков объектов, которые можно рассматривать как единое целое. Каждый объект в множестве называется элементом множества. Все элементы множества должны принадлежать одному из скалярных типов, кроме вещественного. Этот тип называется базовым типом множества. Базовый тип задается диапазоном или перечислением. Область значений типа «множество» – набор всевозможных подмножеств, составленных из элементов базового типа. В выражениях на языке Pascal значения элементов множества указываются в квадратных скобках: [1,2,3,4], [‘a’,’b’,’c’], [‘a’..’z’]. Если множество не имеет элементов, оно называется пустым и обозначается как [ ]. Количество элементов множества называется его мощностью.

Для описания множественного типа используется словосочетание set of (множество из…).

Формат записи множественных типов:

type

<имя типа> = set of <элемент 1 .. элемент n>;

var

<идентификатор> : <имя типа>;

Можно задать множественный тип и без предварительного описания:

var

<идентификатор> : set of <элемент1, .. .>;

Пример:

type

Simply = set of ‘a’.. ‘h’;

Number = set of 1. .31;

var

Pr : Simply;

N : Number;

Letter : set of char; {Определение множества без предварительного описания в разделе типов}

В данном примере переменная Рr может принимать в качестве значений символы латинского алфавита от ‘а’ до ‘h’; N – любое значение в диапазоне 1..31; Letter – любой символ. Попытка присвоить другие значения вызовет программное прерывание. Количество элементов множества не должно превышать 256, соответственно номера значений базового типа должны находиться в диапазоне 0..255. Контроль диапазонов осуществляется включением директивы {$R+}. Объем памяти, занимаемый одним элементом множества, составляет 1 бит. Объем памяти для переменной типа «множество» вычисляется по формуле:

Объем памяти = (Max DIV 8) — (Min DIV 8) + 1,

где Мах и Min – верхняя и нижняя границы базового типа.

Добавить комментарий