В языке программирования Pascal существует понятие множества, имеющее смысл некоторого собрания элементов, одно и того же базового типа. Базовый тип определяет перечень всех элементов, которые вообще могут содержаться в данном множестве. В качестве базового типа может выступать любой простой порядковый тип. Но вещественные числа (real не порядковый тип) и строки (не простой и не порядковый тип) не могут быть элементами множества.
Отрицательные элементы множеств в Turbo Pascal не допускаются. Поэтому базовыми типами не могут быть типы shortint, integer, longint. Если же необходимо множество целочисленных объектов, то базовый тип должен объявлен как диапазон типа byte.
Порядок элементов во множестве не имеет значения. Так, записав [3, 6, 9] или [9, 3, 6], мы будем иметь дело с одним и тем же множеством. Более того, многократное повторение одного и того же элемента не меняет множество. Например, [4, 7, 3] и [3, 7, 4, 4] – это одно и то же множество.
По форме записи объявление переменной типа множество сходно с объявлением одномерного массива:
var имя: set of тип; Например, объявление переменной ch, рассматриваемой как множество с базовым типом char, имеет вид:
var ch: set of char;В отличие от элементов массива, элементы множества не упорядочены и не имеют индексов. Довольно часто в качестве базового типа множества используется тип перечисления или некоторый его диапазон:
type week_days = (Mon, Tue, Wed, Thu, Fri);var work_days: set of week_days; lett: set of 'A'..'Z'; Объявление переменной-множества не дает ей определенного значения.