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

К переменным типа set применимы следующие операции: =, <>, >=, <=, in, +, -, *.

Операции = и <> используются для проверки эквивалентности: два значения переменной типа set считаются равными, если они состоят из одних и тех же элементов.

Пример.

[1, 3] = [3, 1] возвращает true,
[1..3] = [1, 2, 3] возвращает true,
[1] <> [2] возвращает true,
[1, 2, 3] = [1, 4, 3] возвращает false,
[red, blue] = [red, yellow] возвращает false.

Операции >= и <= используются для проверки принадлежности одного множества другому: так, если множество a содержится во множестве b, то a <= b дает true.

Пример.

[1, 2] <= [1, 2, 3] дает <span class="b">true</span>

Пустое множество [ ] содержится во всех множествах, т.е. всегда [ ] <= [b] дает true.

Операция in используется для установления наличия определенного элемента в величине типа set. Так, если x есть элемент множества b, то (x in b) дает true. Общий вид:

x in a;

здесь x – величина базового типа, a – величина типа set.

Пример.

red in [red, yellow] возвращает true;
red in [blue, green] возвращает false.

Замечание 1. Чтобы проверить, является ли значение n цифрой, удобно использовать операцию in следующим образом:

if n in [0..9] then

Замечание 2. Результат операции in может быть неопределенным в некоторых случаях.

Пример. Пусть

a: set of 1..50;
x: integer.

Если заслать в x число, большее максимального значения 50 (например, x := 55), то в этом случае результат операции x in a не всегда false.

К переменным типа set, относящимся к одному и тому же конкретному типу, применимы операции:
+ объединение;
* пересечение;
- дополнение.

Пусть a и b – операнды, имеющие один и тот же конкретный тип. Тогда
a + b представляет собой объединение множества элементов, входящих в a и b (одинаковые элементы не повторяются).
a * b – пересечение множества элементов a и b (только те, которые есть в обоих множествах).
a – b – множество элементов, которые есть в a, но отсутствуют в b.

Пример.

[1, 3] + [1, 4] = [1, 3, 4];
[1, 3] * [1, 4] = [1];
[1, 3] - [1, 4] = [3].

Операция a := a + x добавляет элемент x к множеству a. Если x уже имелся в a, то множество a не меняется. a := a – x исключает x из a. Если x отсутствовал в a, то множество a не меняется.

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

 

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

  • присвоение
  • объединение
  • пересечение
  • дополнение
  • тождественность
  • нетождественность
  • содержится во множестве
  • содержит множество
  • принадлежность элемента множеству

 

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