Множества

 

Термин “множество” в Turbo Pascal используется аналогично его математическому пониманию. Множества в Turbo Pascal могут включать элементы только порядковых типов. При этом элементы какого-либо конкретного множества должны принадлежать одному типу, который называется базовым типом. Число элементов базового типа не может быть больше 256, а порядковые номера элементов (т.е. значение функции ord для элементов) должны находиться в пределах от 0 до 255 (как мы видим, символьный тип идеально подходит для того, чтобы быть базовым типом множества).

Общий вид определения типа множества следующий:

type

имя_типа_множества = set of базовый_тип;

 

Пример:

type

alpha = set of ‘A’ .. ‘Z’; {Множество прописных латинских букв. Базовый тип – интервальный тип. Для интервального типа базовым служит символьный тип}

oper = set of (plus, minus, mul, div); {Множество арифметических операций. Базовый тип - перечисляемый}

SetChar = set of char; {Множество символов. Базовый тип - символьный}

 

Для задания значений переменной типа множество используется так называемый конструктор множеств. Конструктор задает множество с помощью перечисления в квадратных скобках выражений, значения которых дают элементы этого множества (Например - [‘A’,’F’]). Допустимо использовать диапазоны значений [‘A’..’F’] – это то же самое, что и [‘A’,’B’,’C’,’D’,’E’, ‘F’]).

 

Пример:

var

a, b, c: alpha; {a,b,c – множества больших латинских букв}

begin

a := [‘A’,’B’,’E’..’G’] {множество а содержит элементы A,B,E,F,G}

b := [‘Z’] {Множество а содержит элемент Z}

c := []; {Пустое множество не содержит элементов}