Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
инф. технологии_1.doc
Скачиваний:
21
Добавлен:
29.03.2015
Размер:
1.17 Mб
Скачать

8. Множественные типы данных.

8.1. Множества.

Множества - это наборы однотипных логически связанных друг с другом объектов.

Количество элементов, входящих в множество, может меняться в пределах от 0 до 256 (множество, не содержащие элементов, называется пустым). Именно непостоянством количества своих элементов множества отличаются от массивов и записей.

Два множества являются эквивалентными тогда и только тогда, когда все элементы одинаковы причем порядок следования элементов в множестве безразличен.

Описание типа множества имеет вид:

<имя типа>=SET OF <базовый тип>,

где <имя типа> - правильный идентификатор;

SET,OF - зарезервированные слова;

<базовый тип> - базовый тип элементов множества, в качестве

которого может использоваться любой порядковый тип, кроме

WORD, LONGINT, INTEGER.

Для задания множества используется так называемый конструктор множества: список спецификаций элементов множества, отделяемых друг от друга запятыми, список обрамляется квадратными скобками.

Операции над множествами:

- Пересечение множеств. Результатом операции пересечения двух множеств А*В будет множество С, состоящее только из тех элементов которые принадлежат, как множеству А, так и множеству В.

Пример: [1,2,3,4]*[3,4,5,6] результат [3,4]

С = А * В

А В С: = А * В

+ - Объединение множеств. Результатом операции объединения множеств А+В будет множество С , включающее как все элементы множества А, так и все элементы множества В.

Пример: [1,2,3,4]+[3,4,5,6] результат [1,2,3,4,5,6]

А В С = А  В

С: = А + В

- Разность множеств. Результатом операции разности двух множеств А-В, будет множество С, состоящее только из тех элементов множества А, которые не входят в множество В.

Пример: [1,2,3,4]-[3,4,5,6] результат [1,2]

С = А \ В

А В С: = А - В

Результатом операции сравнения А=В будет TRUE, а операции

А< >В будет FALSE, только тогда, когда А и В содержат одни и те же элементы.

Результатом операции сравнения А<=B будет TRUE, если множество А является подмножеством множества В.

Результатом операции сравнения A>=B будет TRUE, если множество А включает в себя все элементы множества В.

Результатом операции принадлежности Х in A будет TRUE, если значение Х какого либо порядкового типа Т является элементом множества А того же типа Т.

A Х  А

If X in A thin

Пример операций принадлежности и объединения множеств.

PROGRAM Dem_Set_Type;

USES Crt;

TYPE SetType =set of char;

{объявление отдельного типа для передачи параметров в My function}

VAR Myset, Set1, Set2 :Settype;

CH :char;

FUNCTION Myfunction (Var set: Set type) : char;

VAR Flag: char;

BEGIN

REPEAT

Flag:=UpCase(ReadKey);

UNTIL Flag IN Var Set;

Writeln(‘ Правильно!!!’);

Myfunction := Flag;

END;

BEGIN

MySet:= [‘Y’,’N’];

Writeln(‘Допускаются ответы только Y или N’);

CH:= Myfunction (myset);

Set1:=[‘K’];

Myset := Set1 + Myset; {Слияние двух множеств}

Writeln(‘Допускается также К’);

CH :=Myfunction (Myset);

REPEAT

UNTIL KeyPressed; {Ожидается нажатие клавиши для

Возврата в ИИО}

END.