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

Под множеством в Паскале понимается совокупность взаимосвязанных элементов одного типа. Его элементы должны быть порядкового типа данных и описываться перечислением и/или интервалом. Служебные слова Set Of говорят, что объявлен множественный тип:

Type <имя типа> = Set Of <базовый тип>;

Размер множества может меняться, но количество элементов в нем, как правило, не должно превышать 256. Поэтому если нужно определить множество, состоящее из чисел, то следует указывать значения входящие в тип byte (от 0 до 255).

В Паскале для обозначения элементов множества используют квадратные скобки, в которых последние, как уже было сказано ранее, записываются интервалом и/или перечислением, например:

[‘A’, ‘B’, ‘C’] [0, 1, 2, 5, 9] [1..9] [1, 2, 3, 10..20]

Элементы множества в отличие от массивов не имеют индексов (номеров), и поэтому порядок не важен. Возьмем, к примеру, два множества: [2, 3, 5] и [3, 5, 2], не смотря на расположение элементов, они тождественны.

С помощью конструктора множеств можно присвоить множественной переменной, какие-либо значения:

I:=[1, 2, 3, 5, 8];
C:=[‘b’, ‘d’, ‘f’];
B: = [True, False];

В ЯП Pascal над множествами предусмотрены следующие операции.

Объединение (+)

Объединением множеств A и B является множество C, которое содержит общие или хотя бы одного из них элементы.

Пример:

[1, 2, 3, 4] + [3, 4, 5] = [1, 2, 3, 4, 5] [‘A’, ‘B’, ‘C’, ‘D’] + [‘B’, ‘E’, ‘G’] = [‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘G’]

Пересечение (*)

Пересечением множеств A и B является множество C, которое содержит элементы обоих множеств.

Пример:

[1, 2, 3, 4] * [3, 4, 5] = [3, 4] [‘A’, ‘B’, ‘C’, ‘D’] * [‘B’, ‘E’, ‘G’] = [‘B’]

Разность (-)

Разностью множеств A и B является множество C, которое содержит элементы множества A, не вошедшие в множество B.

Пример:

[1, 2, 3, 4] — [3, 4, 5] = [1, 2] [‘A’, ‘B’, ‘C’, ‘D’] — [‘B’, ‘E’, ‘G’] = [‘A’, ‘C’, ‘D’]

Тождественность (=)

Два множества считаются равными, если они состоят из одних и тех же элементов.

Пример:[1, 2, 3, 4] = [2, 1, 4, 3] => True
[‘A’, ‘B’, ‘C’, ‘D’] = [‘B’, ‘E’, ‘G’] => False

Нетождественность (<>)

Два множества считаются неравными, если они состоят из разных элементов.

Пример:

[1, 2, 3, 4] <> [2, 1, 4, 3] => False
[‘A’, ‘B’, ‘C’, ‘D’] <> [‘B’, ‘E’, ‘G’] => True

Содержит (>=)

Выражение возвращает истину, если второе множество является подмножеством первого множества.

Пример:

[1, 2, 3, 4] >= [2, 1] => True
[‘A’, ‘B’, ‘C’, ‘D’] >= [‘B’, ‘E’, ‘G’] => False

Содержится (<=)

Выражение возвращает истину, если первое множество является подмножеством второго множества.

Пример:

[1, 2, 3, 4] >= [2, 1] => False
[‘A’, ‘B’] >= [‘B’, ‘A’, ‘G’] => True

Операция IN

Проверяет наличие определенного элемента в заданном множестве:

Пример:

1 In [1, 2, 3, 4] => True
B In [‘A’, ‘G’] => False

Для добавления множеству нового элемента в Паскаль есть операция Include:

Include(<множество>, <элемент>)

Для удаления из множества какого-либо элемента можно воспользоваться операцией Exclude:

Exclude(<множество>, <элемент>)

Необходимо помнить, что добавляемый/удаляемый элемент должен быть тождественного множеству типа.

Рейтинг
( Пока оценок нет )
Загрузка ...