
для экзамена по инф Брэ / лекции паскаль / Lekcija7
.docТема 7. Множества. Описание типа множества. Операции над множествами. Примеры.
Множества представляют собой наборы логически связанных друг с другом объектов. Количество элементов во множестве может меняться в пределах от 0 до 256 (Множество, не содержащее элементов, называется пустым и обозначается []).
Ниже приводится общий вид описания типа множества:
TYPE <имя типа>= SET OF <базовый тип>;
где <имя типа> - правильный идентификатор, <базовый тип >- базовый тип элементов множества, в качестве которого может использоваться любой порядковый тип, кроме WORD, INTEGER, LONGINT.
Пример определения и задания множеств:
type
diap1=set of ‘0’..’9’;
diap2=set of 0..9;
var mset1, mset2, mset3: diap1;
mset4, mset5, mset6: diap2;
begin
mset1: =[‘1, ’3’, ’5’];
mset2: =[‘5’, ’3’, ’1’];
mset3: =[‘3’, ’5’];
mset4: =[0..2, 5];
mset5: =[3, 4];
mset6: =[2..7];
Операции над множествами
-
*- пересечение множеств; результат содержит элементы, общие для обоих множеств; например, mset4*mset6 содержит [2..5];
mset4*mset5- пустое множество;
-
+ - объединение множеств, результат содержит элементы первого множества, дополненные недостающими элементами из второго множества:
mset4+mset5 содержит [0, 1, 2, 3, 4, 5];
mset5+mset6 содержит[2, 3, 4, 5, 6, 7];
-
- - разность множеств; результат содержит элементы из первого множества, которые не принадлежат второму множеству
mset6-mset5 содержит[2, 5, 6, 7];
mset4-mset5 содержит[0, 1, 2, 5];
-
= - проверка эквивалентности; возвращает TRUE, если оба множества эквивалентны. Два множества эквивалентны тогда и только тогда, когда
все их элементы одинаковы, причем порядок следования элементов во множестве безразличен.
mset1 и mset2 эквивалентны;
- проверка неэквивалентности; возвращает TRUE, если оба множества неэквивалентны;
5)<=- проверка вхождения; возвращает значение TRUE, если первое множество включено во второе;
mset3<=mset2;
>= -проверка вхождения возвращает TRUE, если второе множество включено в первое множество;
mset6>=mset5;
6)IN– проверка принадлежности; возвращает значение TRUE, если выражение имеет значение, принадлежащее множеству:
EL IN mset; где EL-выражение того же типа, что и базовый тип множества.
5 in mset6 возвращает TRUE.
2*3 in mset1 возвращает FALSE.
Дополнительно к этим процедурам можно использовать две процедуры:
1)INCLUDE- включает новый элемент во множество. Обращение к процедуре:
INCLUDE (S, I);
Здесь S– множество, состоящее из элементов базового типа;
I-элемент типа, который необходимо включить во множество.
2)EXCLUDE- исключает элемент из множества.
Обращение : EXCLUDE (S, I);
Параметры обращения такие же, как у процедуры INCLUDE.
1осн.[108-112]
10доп.[81-83], 11доп.[322-338]
Контрольные вопросы
-
Какие типы операндов допустимы при выполнении операций над множествами?
-
Какие существуют особенности работы со множествами?
-
В каких пределах может меняться количество элементов, входящих в множество?
-
Какие два множества считаются эквивалентными?
-
Какие операции определены над множествами?