Множества - это наборы однотипных логически связанных друг с другом объектов.
Количество элементов, входящих в множество, может меняться в пределах от 0 до 256 (множество, не содержащие элементов, называется пустым). Именно непостоянством количества своих элементов множества отличаются от массивов и записей.
Два множества являются эквивалентными тогда и только тогда, когда все элементы одинаковы причем порядок следования элементов в множестве безразличен.
Описание типа множества имеет вид:
<имя типа>=SET OF <базовый тип>,
где <имя типа> - правильный идентификатор;
SET,OF - зарезервированные слова;
<базовый тип> - базовый тип элементов множества, в качестве
которого может использоваться любой порядковый тип, кроме
WORD, LONGINT, INTEGER.
Для задания множества используется так называемый конструктор множества: список спецификаций элементов множества, отделяемых друг от друга запятыми, список обрамляется квадратными скобками.
Операции над множествами:
- Пересечение множеств. Результатом операции пересечения двух множеств А*В будет множество С, состоящее только из тех элементов которые принадлежат, как множеству А, так и множеству В.
Пример: [1,2,3,4]*[3,4,5,6] результат [3,4]
С = А * В
А В С: = А * В
+ - Объединение множеств. Результатом операции объединения множеств А+В будет множество С , включающее как все элементы множества А, так и все элементы множества В.
Пример: [1,2,3,4]+[3,4,5,6] результат [1,2,3,4,5,6]
А В С = А È В
С: = А + В
- Разность множеств. Результатом операции разности двух множеств А-В, будет множество С, состоящее только из тех элементов множества А, которые не входят в множество В.
Пример: [1,2,3,4]-[3,4,5,6] результат [1,2]
С = А \ В
А В С: = А - В
Результатом операции сравнения А=В будет TRUE, а операции
А< >В будет FALSE, только тогда, когда А и В содержат одни и те же элементы.
Результатом операции сравнения А<=B будет TRUE, если множество А является подмножеством множества В.
Результатом операции сравнения A>=B будет TRUE, если множество А включает в себя все элементы множества В.
Результатом операции принадлежности Х in A будет TRUE, если значение Х какого либо порядкового типа Т является элементом множества А того же типа Т.
A· Х Î А
If X in A thin
Пример операций принадлежности и объединения множеств.
PROGRAM Dem_Set_Type;
USES Crt;
TYPE SetType =set of char;
{объявление отдельного типа для передачи параметров в My function}