Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
11
Добавлен:
25.04.2015
Размер:
33.79 Кб
Скачать

Тема 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];

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

  1. *- пересечение множеств; результат содержит элементы, общие для обоих множеств; например, mset4*mset6 содержит [2..5];

mset4*mset5- пустое множество;

  1. + - объединение множеств, результат содержит элементы первого множества, дополненные недостающими элементами из второго множества:

mset4+mset5 содержит [0, 1, 2, 3, 4, 5];

mset5+mset6 содержит[2, 3, 4, 5, 6, 7];

  1. - - разность множеств; результат содержит элементы из первого множества, которые не принадлежат второму множеству

mset6-mset5 содержит[2, 5, 6, 7];

mset4-mset5 содержит[0, 1, 2, 5];

  1. = - проверка эквивалентности; возвращает 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]

Контрольные вопросы

  1. Какие типы операндов допустимы при выполнении операций над множествами?

  2. Какие существуют особенности работы со множествами?

  3. В каких пределах может меняться количество элементов, входящих в множество?

  4. Какие два множества считаются эквивалентными?

  5. Какие операции определены над множествами?

Соседние файлы в папке лекции паскаль