Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_po_OAiPR.doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
1.23 Mб
Скачать

181) Объявление множества

Множество - это составной тип данных для представления набора некоторых элементов как единого целого. Область значений множества - набор всевозможных подмножеств, составленных из его элементов. Все элементы множества должны принадлежать однобайтовому порядковому типу. Этот тип называется базовым типом множества.

Для описания множественного типа используется словосочетание set of, после которого записывается базовый тип множества:

type

TLetters = set of 'A'..'Z';

Теперь можно объявить переменную множественного типа:

var

Letters: TLetters;

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

var

Symbols: set of Char;В выражениях значения элементов множества указываются в квадратных скобках: [2, 3, 5, 7], [1..9], ['A', 'B', 'C']. Если множество не имеет элементов, оно называется пустым и обозначается как [ ]. Пример инициализации множеств:

const

Vowels: TLetters = ['A', 'E', 'I', 'O', 'U'];

begin

Letters := ['A', 'B', 'C'];

Symbols := [ ]; { пустое множество }

end;

182) Операции над множествами

Для множеств определены следующие операции:

+ объединение множеств;

- разность множеств;

* пересечение множеств;

= проверка эквивалентности двух множеств;

<> проверка неэквивалентности двух множеств;

<= проверка того, является ли левое множество подмножеством правого множества;

>= проверка того, является ли правое множество подмножеством левого множества;

in проверка того, входит ли элемент, указанный слева, в множество, указанное справа.

Результатом операций объединения, разности или пересечения является соответствующее множество, остальные операции дают результат логического типа.

Операция (=)

два множества А и В равны, если они состоят из одних и тех же элементов, порядок следования элементов значения не имеет.

Операция (<>)

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

Операция (>=)

используется для определения принадлежности множеств. Результат операции А>=В – TRUE, если все элементы множества В содержатся в множестве А.

Операция вхождения (IN)

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

Пример

Оператор

If (a = 1) or (a = 2) or (a = 3) then …

эквивалентен оператору

If a in [1,2,3] then …

x not in M {ошибка}

not (x in M)

Операция объединения множеств (+)

объединением двух множеств является третье множество, содержащее элементы обоих множеств без дублирования.

Операция пересечения (*)

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

Операция разности (-)

разностью двух множеств является третье множество, элементы которого не входят во второе множество, но содержатся в первом.

В случае, когда надо удалить один элемент из множества необходимо заключить в скобки [ ], т.е. «изобразить» множество из одного элемента.

Аналогично действуют и в случае добавления элемента в множество.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]