Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа № 10-11.docx
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
84 Кб
Скачать

Множества.

Множество- это набор однотипных логически связанных друг с другом объектов. Количество элементов, входящих в множество может меняться от 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’];

Над множествами определены следующие операции.

  1. *- пересечение (результат содержит элементы, общие для обоих множеств).

S1:=[0..3];

S2:=[2, 3, 5];

S3:=S1*S2; результат S3:=[2,3]

Если нет одинаковых элементов, то результатом будет пустое множество.

  1. +- объединение (результат содержит элементы первого множества, дополненные недостающими элементами второго).

S3:=S1+S2 результат S3:=[0..3, 5]

  1. – -разность (результат содержит элементы из первого множества, которые не принадлежат второму).

S3:=S1-S2 результат S3:=[0,1]

  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

Массив типа запись.

Позволяет хранить в памяти одновременно множество записей и использовать их в дальнейшей обработке.