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

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

При работе с множествами допускается использование операций отношения “=”, “<>”, “>=”, “<=”, объединения, пересечения, разности множеств и операции in. Результатом выражения с применением этих операций является значение True или False.

Операция “равно” (=). Два множества А и В считаются равными, если состоят из одних и тех же элементов. Порядок следования элементов в сравниваемых множествах значения не имеет.

Например:

Значение А

Значение В

Выражение

Результат

[1,2,3,4]

[‘a’, ’b’, ’c’]

[‘a’..’z’]

[1,2,3,4]

[‘c’, ‘a’]

[‘z’..’a’]

A=B

A=B

A=B

True

False

True

Операция “не равно” (<>). Два множества А и В считаются не равными, если они отличаются по мощности или по значению хотя бы одного элемента.

Например:

Значение А

Значение В

Выражение

Результат

[1,2,3]

[‘a’..’z’]

[‘c’..’t’]

[3,1,2,4]

[‘b’.. ‘z’]

[‘t’..’c’]

A<>B

A<>B

A<>B

True

True

False

Операция “больше или равно” (>=). Операция “больше или равно” (>=) используется для определения принадлежности множеств. Результат операции А >=В равен True, если все элементы множества В содержаться в множестве А. В противном случае результат равен False.

Например:

Значение А

Значение В

Выражение

Результат

[1,2,3,4]

[‘a’..’z’]

[‘z’,’x’,’c’]

[2,3,4]

[‘b’.. ‘t’]

[‘c’,’x’]

A>=B

A>=B

A>=B

True

True

True

Операция “меньше или равно” (<=). Эта операция используется аналогично предыдущей операции, но результат выражения А<=В равен True, если все элементы множества А содержаться во множестве В. В противном случае результат равен False.

Значение А

Значение В

Выражение

Результат

[1,2,3]

[‘d’..’h’]

[‘a’,’v’]

[1,2,3,4]

[‘z’.. ‘a’]

[‘a’,’n’,’v’]

A<=B

A<=B

A<=B

True

True

True

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

Значение А

Значение В

Результат

2

‘v’

X1

if A in [1,2,3] then..

if A in [‘a’..’n’] then..

if A in [X0,X1,X2,X3] then..

True

True

True

При использовании операции in проверяемое на принадлежность значение и множество в квадратных скобках не обязательно предварительно описывать в разделе описаний. Операция in позволяет эффективно и наглядно производить сложные проверки условий, заменяя иногда десятки других операций. Например, выражение if(a=1) or (a=2) or (a=3) or (a=4) or (a=5) or (a=6) then…можно заменить более коротким выражением

if a in [1..6] then… .

Часто операцию in пытаются записать с отрицанием: X NOT in M. Такая запись является ошибочной, так как две операции следуют подряд; правильная инструкция имеет вид: NOT (X in M).

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

Например:

Значение А

Значение В

Выражение

Результат

[1,2,3]

[‘A’..’D’]

[]

[1,4,5]

[‘E’.. ‘Z’]

[]

A+B

A+B

A+B

[1,2,3,4,5]

[‘A’..’Z’]

[]

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

Например:

Значение А

Значение В

Выражение

Результат

[1,2,3]

[‘A’..’Z’]

[]

[1,4,2,5]

[‘B’.. ‘R’]

[]

A*B

A*B

A*B

[1,2]

[‘B’..’R’]

[]

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

Например:

Значение А

Значение В

Выражение

Результат

[1,2,3,4]

[‘A’..’Z’]

[X1,X2,X3,X4]]

[3,4,1]

[‘D’.. ‘Z’]

[X4,X1]

A-B

A-B

A-B

[2]

[‘A’..’C’]

[X2,X3]

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