logo search
lekcii_po_informatike_delphi+++++++

2.12 Множества

Множества – это наборы однотипных логически связанных друг с другом объектов. Для описания множества используется следующий формат:

<идентификатор> = set of <начало> .. <окончание> <идентификатор> = set of (<элемент1> [,<элемент2> …])

Элементы, описываемый <начало>, <окончание> должны быть порядкового типа. Количество элементов множества не может превышать 256.

Множества часто используются для проверок установки тех или иных флагов объектов.

Операции с множествами:

+ – сложение; результат содержит элементы первого множества, дополненные недостающими элементами второго множества;

- – вычитание; результат содержит элементы из первого множества, которые не принадлежат второму;

* – пересечение; результат содержит элементы, общие для обоих множеств;

= – проверка эквивалентности; возвращается True, если множества эквивалентны;

<> – проверка неэквивалентности; возвращается True, если множества неэквивалентны;

<= – проверка вхождения; возвращается True, если первое множество включено во второе;

>= – проверка вхождения; возвращается True, если второе множество включено в первое;

in – проверка принадлежности; возвращается True, если элемент входит в множество;

include(s,i) – включает новый элемент i в множество s;

exclude(s,i) – исключает элемент i из множество s.

Процедуры include и exclude отличаются высокой скоростью выполнения, т.к. оптимизированы на работу с одиночными элементами.

Рассмотрим на примере операции работы с множествами. Пример (выполнение действий с множествами):

var

s1,s2,s3,s : set of 0..9; f : boolean;

begin

s1 := [0..3,6]; {Пример присвоения}