Структурированный тип данных: множества

Страницы работы

Фрагмент текста работы

          Структуированный тип данных: множества

         1 Объявление множества.

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

         3. Ввод и вывод множеств.

          4. Применение множеств.

         1 Объявление множества

          Математические множества и множества Паскаля.

          Сначала вспомним структуру типов данных Паскаля. Множества относятся к комбинированному или структуированному типу данных. Мы уже изучили массивы и записи. Что общего у всех? Это, что элементы, т.е константы или переменные структуированных типов данных, имеют несколько компонентов. Общее, что внутреннее их представление в ОП не должно превышать 65520 Байт.

Массивы - формальнное объединение нескольких однотипных объектов (чисел, строк и т.д), рассматриваемое как единое целое:

          (аrray [< список индесных типов>] of  < Б. Т>);

          Записи - фиксированное число компонентов разного типа.

          (record < список полей > end);

          Множества- еще один структурированный тип данных.

          Но прежде, чем мы начнем разговор о применении множества в Паскале, уместно сравнить множество как чисто математическое понятие с тем, что имеется в виду в Паскале, т.к речь идет о 2-х разных и во многом сходных концепциях.

          В математике – это любая совокупность объектов, выбранная из универсального множества.

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

          Математическое множество может иметь любое количество элементов и содержать все что угодно.

          Паскаль:

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

1)  В качестве базового типа может являться только любой порядковый тип. Размер множеств Паскаля всегда ограничен (зависит от компилятора) во многих реализациях языка (Turbo Pascal в том числе) предел равен 256. Это максимальное число значений, которым может обладать базовый тип.

2)  Кроме этого ограничения, есть и еще ограничение и на значения элементов множества. Допускаются только такие элементы, порядковые значения которых не выходят за границы отрезка 0..255.  

               Например, 0 .. 255 -базовый тип, то  -5 .. 5- не может быть базовым типом.

3)  Традиционно в математических работах для обозначения множеств употребляются { }, заключая в них элементы данного множества. В Паскале фигурные скобки { } - ограничители комментариев, поэтому элементы множества указываются в квадратные скобки[  ].

          Общее для математики и Паскаля:

          Во-первых, порядок элементов во множестве не имеет значения: записав [4, 2, 6] или [6, 2, 4] мы имеем дело с фактически одним и тем же множеством.

          Во-вторых, многократное повторение какого-либо элемента никак не влияет на состав множества:

          [2, 2, 4, 6] - это тоже множество, что [2, 4, 6].

          Тип "множество"  является  одним  из сложных типов данных системы программирования Turbo Pascal.

          Тип "множество" является множеством всевозможных сочетаний объектов исходного порядкового типа.  Число элементов исходного множества в Turbo Pascal не должно превышать 256.  Все значения базового типа, образующие конкретные значения множественного типа,  должны быть различны. Порядок расположения элементов в множестве никак не фиксируется. Это соответствует принятой в математике трактовке множества  как  бес-

повторной неупорядоченной совокупности объектов.

          Описание (декларация) типа множество.

          Формат описания:

Type

          <имя_типа>= set of <базовый тип>;

здесь

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

set, of - зарезервированные слова множество из.

<базовый тип>-любой порядковый тип, кроме Word, Integer, LongInt.

Например,

Type

          Weekdays = (Mondays, Tuesday, Wednesday, Thursday, Friday);

          digits = set of  0 . .9;

          letters= set of  ’A ’ ..  ’ Z’

Var

          S1, S2 : set of Weekdays;

          S3, S4 : digits;

          S5: letters;

          Так же как и для других  структурированных  типов  тип  множество можно задать непосредственно при задании переменных:

Var

          CAlfa : set of 'A'..'Z'

          Operation : set of (Plus, Minus);

          U233 : set of 0 .. 9;

          C : set  of  char;

          Объявление множества указывает лишь на возможный набор значений и не создает никаких значений в самой  set- переменной/

          Построение множеств.

          Введем несколько понятий:

1)  Мощность множества - число  элементов, содержащихся в данном множестве.

2)  Пустое множество - множество, которое не содержит элементов [ ] (р = Ø ).

Похожие материалы

Информация о работе