Наряду с записями и массивами в Паскале существует еще один структурированный тип данных - множество.
Множество - это наборы однотипных логически связанных друг с другом объектов. Количество элементов, входящих в множество, может меняться в пределах от 0 до 256 (множество, не содержащее элементов, называется пустым). Именно непостоянством количества своих элементов множества отличаются от массивов и записей.
Описание типа множества имеет вид:
<имя типа>=SET OF<баз. тип>
Здесь <имя типа>- правильный идентификатор;
SET(множество),OF(из)- зарезервированные слова;
<баз. тип> - базовый тип элементов множества, в качестве которого может использоваться любой порядковый тип.
Для задания множества используется так называемый конструктор множества: список спецификаций элементов множества, отделяемых друг от друга запятыми; список обрамляется квадратными скобками.
Над множествами определены следующие операции:
* - пересечение множеств; результат содержит элементы, общие для обоих множеств;
[1,2]*[3.4]=[];
+ - объединение множеств; результат содержит элементы первого множества, дополненные недостающими элементами из второго множества:
[1,2]+[3,4]=[1,2,3,4];
- - разность множеств; результат содержит элементы из первого множества, которые не принадлежат второму:
[1..10] - [5..15]=[1..4];
= проверка эквивалентности; возвращает TRUE, если оба множества эквивалентны;
[1,2,3] =[1,2] - FALSE;
<> - проверка неэквивалентности; возвращает TRUE, если оба множества неэквивалентны;
[1,2,3]<>[1,2,2] - TRUE;
<= - проверка вхождения; возвращает TRUE, если первое множество включено во второе;
[X] <= [1..20], если Х -целое число из диапазона 1.. 20;
>= - проверка вхождения; возвращает TRUE, если второе множество включено в первое;
[1,2,3] >=[1,2] - TRUE;
IN - проверка принадлежности; первый элемент - выражение, а второй - множество одного и того же типа; возвращает TRUE, если выражение имеет значение, принадлежащее множеству:
3 IN [1..10,12] - TRUE
Дополнительно к этим операциям можно использовать две процедуры.
INCLUDE- включает новый элемент в множество.
INCLUDE (S,I)
Здесь S- множество, состоящее из элементов базового типа;
I - элемент, который необходимо включить во множество.
EXCLUDE - исключает элемент из множества
EXCLUDE (S,I)
Здесь S- множество, состоящее из элементов базового типа;
I - элемент, который необходимо исключить в множестве.
Строки
Турбо - Паскаль предоставляет средства для работы с данными строкового типа. Строковый тип данных представляет собой цепочку символов. Длина цепочки может изменяться от 0 до 255. Для определения строкового типа используется служебное слово STRING, за которым в квадратных скобках указывается максимальная длина строки
Например:
Type
line = string[25];
Var
mline : line;
...
В данном примере переменная mline представляет собой последовательность, включающую до 25 символов, причем каждый символ имеет стандартный тип CHAR.