Множества Паскаль

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


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

Множества Паскаль. Структура:

Множественный тип описывают с использованием зарезервированных слов set of:

type
A= set of B;

где A — множественный тип, а B обозначает базовый тип. Для описания переменной с множественным типом приведем следующий пример:

type
Alfa = set of ‘A’..’Z’
var
Gr: Alfa;

Можно определить принадлежность переменных к данному множественному типу прямо в разделе var:

var
B: set of 0..9;

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

[‘a’..’z’]
[1,4,6]
[2,6,12..23]

Пустое подмножество в Паскале обозначают символом «[ ]». Число базовых элементов не может быть больше 256. Инициализацию величин множественного типа можно произвести при помощи типизированных констант:

const
pust: set of ‘A’..’Z’=[ ];

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

type
T = set of integer;

В состав множества входят:

  • элементы базового типа,
  • все подмножества рассматриваемого множества,
  • пустое подмножество

Например, переменная T множественного типа

var
T: set of 1..3;

может принять 8 разных значений:

  • [ ] [1] [2] [3] [1,2] [1,3] [2,3] [1,2,3]

Операции над множествами Паскаль:

Над константами и переменными множественного типа можно применить операции присваивания (символ «:=»), объединения (символ «+»), пересечения (символ «*»), вычитания (символ «-«):

[‘B’,’C’] + [‘B’,’M’] = [‘B’,’C’,’M’]
[‘B’,’C’] * [‘B’,’M’,’N’] = [‘B’]
[‘B’,’M’,’N’] — [‘B’,’M’] = [‘N’]

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

1)  тождественность (символ «=»)

Пример:

[‘B’,’M’] = [‘B’,’N’]   (false)

2)   нетождественность (символ «<>»),

Пример:

[‘B’,’M’] <> [‘B’,’N’]  (true)

3)   содержит (символ «=>»),

Пример:

[‘F’,’G’] >= [‘B’]    (false)

4)   содержит (символ «<=»).

Пример:

[‘D’] <= [‘M’,’D’]    (true)

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

Пример:

‘B’ in [‘B’,’C’]      (true)
12 in [3,4,47]    (false)


Похожие записи:

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля отмечены *