Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум_12.doc
Скачиваний:
21
Добавлен:
14.02.2016
Размер:
124.93 Кб
Скачать

Курс «основы алгоритмизации и программирования»

ЛЕКЦИЯ № 23.

Тема: «организация данных в множества»

1. Понятие и определение множества в теории множеств.

Множества являются основополагающими структурами в математике и программировании и часто используются при проектировании алгоритмов и программ с целью повышения их эффективности.

В математике множество – это любой набор объектов, который понимается как единое целое.Объекты, принадлежащие множеству, называютсячленамиилиэлементами множества.Множество определяется только своими элементами, элементы множества неупорядочены, и два множества равны тогда и только тогда, когда они содержат одни и те же элементы. Например, следующие множества одинаковы: {1,3,5}, {3,1,5}, {5,3,1} и т.д.

Если все элементы одного множества являются также элементами другого, но не наоборот, то первое множество называется подмножествомвторого, например множество {1,3} является подмножеством {1,3,5}. Множество всех подмножеств данного множества называется егомножеством-степенью. Множество-степень {1,3,5} есть {{1,3,5}, {1,3}, {1,5}, {3,5}, {1}, {3}, {5}, {}}. Т.к. каждый элемент исходного множества {1,3,5} или присутствует, или отсутствует в каждом из подмножеств, общее число подмножеств есть 23 = 8.

Над подмножествами определены три бинарные операции, похожие на операции сложения, умножения и вычитания для целых чисел.

Объединение (сумма)двух множествАиВ– это множество, элементы которого являются элементами либоА, либоВ. например, объединение множеств {1} и {3,5} является множество {1,3,5}.

Пересечение (произведение) двух множествАиВ– это множество, элементы которого являются элементами какА, так иВ. Например, пересечением множеств {1,3,5} и {3,5,7} является множество {3,5}.

Дополнением В\A (разность) А доВ– это множество, элементы которого являются элементами множестваВ, но не являются элементами множестваА. Например, множество {1,3} является дополнением множества {5} до {1,3,5}.

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

В Паскале допускаются только конечныемножества, причем все элементы множества должны быть значениями одного типа. Максимально допустимое число элементов множества определяется конкретной реализацией языка, в Турбо Паскале – это 256. Для элементов множества может использоваться тип, область допустимых значений которого меньше указанного числа. Введенное ограничение, с одной стороны, упрощает язык, а с другой – позволяет эффективно реализовывать множества.

В Паскале множество – это структура данных, представляющая ограниченную неупорядоченную совокупность различных элементов одного типа.Тип, к которому должны принадлежать все члены множества, называетсябазовым типом множества. В качестве базового типа множеств может использоваться любой скалярный порядковый тип, кромеword, integer, longint.

Для определения значения множеств используется конструктор множества, представляющий собой список элементов множества, заключенный в квадратные скобки. Элементы множества могут задаваться константами, переменными и выражениями базового типа. Множество может вообще не иметь элементов, т.е. быть пустым. Например:

  • [ ]– пустое множество;

  • [2, 4, 7] – множество из трех элементов целого типа;

  • [‘a’, ’s’, ’d’] – множество из трех элементов символьного типа;

  • [red,yellow,green] – множество из трех элементов перечисляемого типа;

  • [1, k, 2*k] – множество из трех элементов целого типа: константы 1, текущего значения переменнойkи значения выражения2*k.

Если список элементов, образующих множество, упорядочен в соответствии с заданным базовым типом, то можно не перечислять все элементы, а указать диапазон значений:

  • [1..100]– множество из 100 целых чисел;

  • [k..2*k] – множество целых чисел от значенияkдо значения2*k;

  • [‘a’..’d’, ’f’..’h’, ‘k’] – множество значений символьного типа, состоящее из элементовa, b, c, d, f, g, h, k;

  • [1..1, 5..1] эквивалентно[1];

  • [‘d’..’a’]эквивалентно[ ].

Порядок перечисления элементов в множестве не играет роли, поэтому

  • [false, true] эквивалентно [true, false];

  • [1, 3, 5] эквивалентно[5, 3, 1];

  • [1, k, 2*k] эквивалентно [1, 2] приk=1.

Конструктор множества можно рассматривать как операцию образования значения множественного типа из множества значений базового типа.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]