С множественными типами Паскаля можно выполнять действия объединения, исключения и пересечения.
Объединение множественных типов содержит элементы, которые принадлежат хотя бы одному множеству, при этом каждый элемент входит в объединение только один раз. Операция объединения множеств обозначается знаком ‘+’.
Пример множественных типов Паскаля
Type symbol= set of char;Var small, capital, latin: symbol; ……………… small:= [‘a’ .. ‘z’]; capital:= [‘A’ .. ‘Z’]; latin:= small + capital; {образованы множества латинских букв путем объединения множеств small и capital} Возможно объединять множественные типы и отдельные элементы. Например,
small:= [‘c’ .. ‘z’];small:= small + [‘a’] +[‘b’]; Исключение определяется как разность множественных типов, в котором из уменьшаемого исключаются элементы, входящие в вычитаемое. Если в вычитаемом есть элементы, отсутствующие в уменьшаемом, то они никак не влияют на результат. Операция исключения обозначается знаком ‘-‘.
Пример исключения множественных типов Паскаля
letter:= [‘a’ .. ‘z’]; {множества букв латинского алфавита} glasn:= [‘a’, ‘e’, ‘o’, ‘u’, ‘i’, ‘y’]; {множества гласных букв} soglasn:= letter-glasn; {образовано множества согласных букв путем исключения из множества всех букв множества гласных букв} Пресечение множественных типов– множества, содержащие элементы, одновременно входящие в оба множества. Операция пересечения множеств обозначается знаком ‘*’.
Пример пересечения множественных типов
Type chisla= set of byte; Var z,x,y: chisla; ……….. x:= [0..150]; y:= [100..255]; z:= x*y {получено множества чисел из диапазона 100..150 в результате пересечения двух множеств}