Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Паскаль-конспект ИНФОРМАТИКА.doc
Скачиваний:
59
Добавлен:
09.04.2015
Размер:
639.49 Кб
Скачать

6. Множественные типы

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

Множеством называется совокупность объектов, обладающих некоторым общим свойством.

Множества могут состоять из любого числа объектов (элементов), но могут и не содержать элементов.

В математике под множеством понимается некоторый набор элементов. Например, множество плоских геометрических фигур:

[круг, ромб, квадрат, треугольник, прямоугольник].

Все элементы одного множества различны и неупорядочены. Элементы множества не могут повторяться.

Пример.[круг, ромб, круг] – неверная запись множества.

[круг, ромб, квадрат]=[ромб, круг, квадрат] – одинаковы и равны между собой.

Множество в языке программирования Паскаль – это ограниченный, неупорядоченный набор различных элементов одинакового типа.

Элементы множества заключаются в […].

Множество может не содержать ни одного элемента. В этом случае оно называется пустым [ ].

Если множества используются в программе, то они должны быть описаны либо с помощью раздела Type, либо непосредственно в разделе переменных.

Type имя_типа = set of t;

 базовый тип элементов множества (любой простой кроме realиinteger)

Varимя_множества: имя_типа;

Дело вот в чём. Размерность множества, то есть допустимое количество элементов множества обычно небольшое. Для большинства компьютеров оно не превышает 256 (то есть от 0 до 255). Поэтому объявление

SetofIntegerявляется недопустимым.

Вместе с тем запись TypeM=SetofBooleanявляется корректной, поскольку объявляется множество, содержащее два элемента со значениямиTrueиFalse.

Таким образом, указанным ограничениям на тип элемента удовлетворяют базовые стандартные типы:

Byte,

Char,

перечислимые типы,

ограниченные типы.

Пример. Type Letters = Set of ‘A’..’Z’;

Holidays = Set of 1..31;

U = Set of Char;

I = Set of Byte;

Пример. Type M = Set of (A, B, C, D);

VarG,F:M;

Здесь задан тип множества М. В разделе переменных указано, что переменные имеют тип М, то есть могут принимать значения любых из перечисленных букв, например:

G := [A, B, D];

F := [C, A, B];

Пример. Type Town = (Moscow, Kiev, Yalta);

M = Set of Town;

Var P1, P2 : M;

P3 : Set of ‘A’..’Z’;

P4,P5 :Setof0..9;

Переменная Р1 множественного типа М может принимать следующие значения:

[Moscow] [Kiev] [Moscow, Yalta] [Moscow, Kiev] [Kiev, Yalta] [Moscow, Kiev, Yalta] [Yalta]

В общем случае, если базовое множество содержит Nэлементов, производный множественный тип определяет 2Nподмножеств. Смотритепример: 3 элемента, значит, 23= 8 подмножеств.

Другой примерописания:

TypeMNOG=Setof1980..2000;

VarM1,M2:MNOG;

В программе элементами множеств М1 и М2 могут быть любые целые числа от 1980 до 2000, например:

M1:= [1988, 1995, 1981];

M2:= [1980, 1981, 1982, 1983];

Приведём примерыописания множеств непосредственно в разделе переменных:

Var M1, M2: Set of 1980..2000;

Var MS: Set of Char;

Здесь элементами являются символьные константы, например:

MS:= [‘A’, ‘N’, ‘R’];

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