Множества.
Множество- это набор однотипных логически связанных друг с другом объектов. Количество элементов, входящих в множество может меняться от 0 до 255. множество не содержащее пробелов называется пустым.
Описание множества.
Type имя_типа= set of базовый_тип;
Var имя_переменной: имя_типа;
Где set of- зарезервированные слова, обозначающие множество.
Базовый_тип- тип элементов множества, который может быть любого порядкового типа, кроме ShortInt, LongInt, Integer и Word. В программе для задания множества используется конструктор [ ]. Элементы множества разделены запятыми.
Пример: type abc=set of ‘0’..’9’;
Var a: abc;
Begin
…
a:=[‘0’..’3’, ‘7’, ‘9’];
…
Над множествами определены следующие операции.
*- пересечение (результат содержит элементы, общие для обоих множеств).
S1:=[0..3];
S2:=[2, 3, 5];
S3:=S1*S2; результат S3:=[2,3]
Если нет одинаковых элементов, то результатом будет пустое множество.
+- объединение (результат содержит элементы первого множества, дополненные недостающими элементами второго).
S3:=S1+S2 результат S3:=[0..3, 5]
– -разность (результат содержит элементы из первого множества, которые не принадлежат второму).
S3:=S1-S2 результат S3:=[0,1]
=- проверка эквивалентности (возвращает TRUE, если оба множества эквивалентны. Множества эквивалентны тогда, когда все их элементы одинаковы, причем порядок следования элементов в множестве безразличны).
[1,3]=[3,1] – TRUE
[1,3]=[‘1’,’3’] – FALSE
[0..2]=[0,3,1] – FALSE
5. <>- проверка неэквивалентности (возвращает TRUE, если оба множества неэквивалентны).
[1,3]<>[3,1] – FALSE
[1,3]<>[‘1’,’3’] – TRUE
6. <=- проверка вхождения (возвращает TRUE, если первое множество включено во второе).
[1,2]<=[1,2,3] – TRUE
если все элементы одного множества входят и во второе множество то считают, что первое включено во второе.
7. >=- проверка вхождения (элементы второго множества должны входить в элементы первого).
8. IN- проверка принадлежности (возвращает TRUE, если указанное значение входит во множество).
3 IN S2 – TRUE
5 IN S1 – FALSE
9. INCLUDE- включает новый элемент во множество.
INCLUDE(S1,9);
10. EXCLUDE- исключает элемент из множества.
EXCLUDE(S2,5);
Записи. Массив типа запись.
Запись – это совокупность элементов различного типа. Объявление типа запись начинается с зарезервированного слова RECORD содержит причисление идентификаторов полей с указанием типа данного поля и заканчивается словом END.
Type имя типа = Record
Имя поля 1: тип;
. . .
имя поля n: тип;
Var имя записи: имя типа;
Если несколько полей записи имеют один тип можно записать.
Имя поля 1, имя поля 2: тип;
Обращение к полю записи происходит следующим образом указывается тип, имя записи и отделяется оно точкой от имени поля.
Имя записи . Имя поля
Когда в какой то части программы программист работает с одной записью, то обращение к полям этой записи постоянно занимает много место в этих случаях используется оператор with, который имеет следующий вид.
With имя записи Do
Begin
{поля записи применяются без указания переменной имени записи и разделительной точки}
End.
Имя поля может быть таким же как и имя записи при вложение операторов друг в друга.
With имя записи 1 Do
With имя записи 2 Do . . .
Эквивалента более простой записи,
With имя записи 1, имя записи 2 Do
Массив типа запись.
Позволяет хранить в памяти одновременно множество записей и использовать их в дальнейшей обработке.
