Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Uses crt;




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

При работе с множествами допускается использование операций отношения “=”, “<>”, “>=”, “<=”, объединения, пересечения, разности множеств и операции 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 используется для проверки принадлежности какого-либо значения указанному множеству. Обычно применяется в условных операторах.

Значение А Значение В   Результат
‘v’ X1 if A in [1,2,3] then.. if A in [‘a’..’n’] then.. if A in [X0,X1,X2,X3] then..   True False 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]

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

Объединение Пересечение Разность

Использование в программе данных типа set дает ряд преимуществ: значительно упрощаются сложные операторы if, увеличивается степень наглядности программы и понимания алгоритма решения задачи, экономятся память, время компиляции и выполнения.

Имеются и отрицательные моменты, основной из них – отсутствие в языке Паскаль средств ввода-вывода элементов множества, поэтому программист сам должен писать соответствующие процедуры.

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

type digits=set of 0..20;

var m1,m2,m0,l,f,t:digits;




Поделиться с друзьями:


Дата добавления: 2013-12-13; Просмотров: 317; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.