Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_множества.doc
Скачиваний:
5
Добавлен:
01.04.2025
Размер:
108.54 Кб
Скачать

Сравнение множеств. Операции отношения

Для сравнения множеств используют­ся обычные операции:

A =B — равенство (совпадение) двух множеств;

A <>B — несовпадение двух множеств;

A >=B — элементы множества В принадлежат множ. А;

A <=B — элементы множества A принадлежат множ. B;

Операция определения принадлежности элемента множеству

Эта логическая операция обозначается служебным сло­вом In. Результат операции — значение True, если элемент принадлежит множеству, и False — в противном случае.

Примеры:

D 5 In [3 .. 7] дает значение True, так как 5 є [3 .. 7];

'a' In ['A' .. 'Z'] дает значение False, буквы 'а' нет среди больших латинских букв.

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

Например, оператор вида

If (ch='ar) or (ch='b') or (ch='x') or (ch='yf)

Then s;

переписывается в более компактной и наглядной форме:

If ch In ['а', 'b', 'x', 'у' ] Then s.

Пример определения и задания множеств:

    Type         digitChar = Set Of ‘0’ .. ‘9’;         digit = Set Of 0 .. 9;     Var         s1, s2, s3 : digitChar;         s4, s5, s6 : digit;         . . . . . .         s1 := [‘1’, ‘2’, ‘3’];         s2 := [‘3’, ‘2’, ‘1’];         s3 := [‘2’, ‘3’];         s4 := [0. .3, 6];         s5 := [4, 5];         s6 := [3. .9];

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

Операция

Смысл

Пример*

Результат

*

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

s1*s3

[‘1’,‘2’, ‘3’]

+

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

s4+s5

[0. .6]

-

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

s2-s3

[‘1’]

=

True, если множества 

эквивалентны

s1=s2

s1=s3

True

False

<>

True, если множества неэквивалентны

s1<>s2

s1<>s3

False

True

<=

True, если первое множество содержится во втором

s5<=s6

True

>=

True, если второе множество содержится в первом

s2>=s3

True

In

проверка принадлежности значения выражения, стоящего слева множеству, стоящему справа 

7-5 In s4

True

Пример 1

Организовать ввод элементов трех множеств A, B, C. Вычислить и напечатать множества A + B, B * C, C - A.

Program CalcSet; Type SetChar= Set Of Char; Var A, B, C : SetChar; {Процедура ввода множества} Procedure EnterSet(Var D: SetChar); Var ch: Char; Begin     Writeln(‘Введите элементы множества, точка - конец ввода’);     Read(ch);     D:=[];     While ch<>‘.’ Do         Begin D := D + [ch]; Read(ch) End; End;{EnterSet} {Процедура вывода множества} Procedure PrintSet(D: SetChar); Var i: Byte; Begin For i := 0 To 255 Do       If Chr(i) in D Then Writeln(Chr(i)) End;{PrintSet} Begin {Основная программа}     Writeln(‘Введите элементы множества A’);     EnterSet(A);     Writeln(‘Введите элементы множества B’);     EnterSet(B);     Writeln(‘Введите элементы множества C’);     EnterSet(C);     PrintSet(A+B); PrintSet(B*C); PrintSet(C-A) End.