Множество - НЕупорядоченный ограниченный набор однотипных величин, обозначаемых одним именем.
Таким образом,
1) в множестве могут содержаться элементы
только одного, базового
типа.
[a, o, u, e]-
множество; [1, 5, 9, '3', df]- НЕ множество.
2) порядок элементов множества не
фиксируется.
множество
[1, 4, 7, 5]эквивалентно множеству [4, 1, 7, 5]
3) в качестве базового
типа может быть любой дискретный тип,
содержащий не более 256 значений,
т.е. перечислимый,
ограниченный и тип char.
var имя_множества: set of тип |
var m3: set of 1..3; правильными будут операторы: |
или
1 вариант
type имя_типа=set of тип; |
type dig = set of char; var s:dig; {базовый тип - символьный} правильными будут операторы: |
2 вариант
type имя_типа= (значения); |
type dig = (red, green, blue); var s:set of dig; базовый тип - перечислимый} правильными будут операторы: |
Изображение значений: [1,2,3,5,6,7]; [1..3,5..7]; [1..3,5,6,7]; ['e', 't',].
1. Объединение множеств
A+B |
[10] + [100,1000] = [10, 100, 1000]
[1..5] + [5..8] = [1..8] [1, 2, 4, 6, 5, 7] + [3, 5, 4, 6, 12, 1] = [1, 2, 3, 4, 5, 6, 7, 12] =
[1..7, 12] |
2. Пересечение множеств
A* B |
[10] * [100,1000] = []
[1..5] * [5..8] = [5] [1, 2, 4, 6, 5, 7] * [3, 5, 4, 6, 12, 1] = [1, 4, 5, 6] |
3. Разность множеств
A - B |
[10] - [100,1000] = [10]
[1..5] - [5..8] = [1..4] [1, 2, 4, 6, 5, 7] - [3, 5, 4, 6, 12, 1] = [2,7] |
Презентация "Действия над множествами"
4. Проверка принадлежности элемента множеству
X in A true , если элемент X
принадлежит множеству A |
10 in [100,1000] = false
7 in [5..8] = true |
5. Проверка на равенство, неравенство и включение двух множеств
A = B |
[1,3,4,6]=[3,4,5,1]
- false [1,3,4,6]=[4,6,3,1] - true |
A<>B |
[1,3,4,6]<>[3,4,5,1]
- true [1,3,4,6]<>[4,6,3,1] - false |
A<=B |
[1,3,4,6,7]<=[1,3,4,7,9]
- false [1,3,4]<=[1,3,4,7,9] - true |
A>=B |
[1,3,4,6,7]>=[1,3,4,7]
- true [1,3,4,5,6]>=[1,3,4,7,9] - false |
6. Процедуры добавления и удаления элементов массива
INCLUDE(S, i) |
m:=[1,3,4,6]; include(m,5); после процедуры m=[1,3,4,6,5] |
EXCLUDE(S, i) |
m:=[1,3,4,6]; exclude(m,3); после процедуры m=[1,4,6] |