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

В данной статье будет рассказано о том, для чего на самом деле нужны множества. Предстоит познакомиться с их видами, а также ключевыми особенностями. Также придется рассмотреть ключевые операции и примеры применения в программировании. В качестве основы возьмем Pascal. Несмотря на то, что соответствующий язык разработки в 2022 году не пользуется особым спросом, он прекрасно объяснит «базу» выбранного направления. После этого удастся более подробно изучить множества и их элементы в других, более сложных языках программирования.

Определение

Множество – математическая модель. Является одним из ключевых понятий в соответствующей науке. Представляет собой набор, совокупность каких-либо (совершенно любых) объектов, называемых элементами этого самого множества. Два подобных компонента будут равными, если они содержат одинаковые элементы.

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

В качестве элементов множества могут выступать:

  • символы;
  • строки;
  • числа.

Главное помнить, что перечисленные элементы должны быть константами. Это – значения, которые никогда не корректируются (не изменяются). В случае с программированием – остаются постоянными на протяжении всего цикла жизни приложения.

В математике есть отдельная дисциплина. Она носит название теории множеств. Полностью посвящена изучению соответствующего компонента. Классическое определение рассматриваемому математическому элементу дал математик-немец Георг Кантор. Он описал множество как «многое, мыслимое как единое целое».

Основные составляющие

Перед тем, как рассматривать разные множества в языках программирования, необходимо хорошенько изучить их за пределами разработки программного обеспечения. В противном случае высоки риски допущения ошибок в приложении.

Первое, на что нужно обратить внимание – это основные составляющие «неупорядоченных массивов». Здесь стоит запомнить следующее:

  1. Элементы – это объекты или элементы, которые составляют множество. В программировании – значения и переменные.
  2. В математике и иных науках сами множества обозначаются заглавными буквами. Обычно – латинскими.
  3. Элементы «неупорядоченных массивов» указываются прописными латинскими буквами (a, c, f,…). Возможно указание букв с индексами (a1, a2, a3,…).
  4. Существуют множества, которые не содержат ни одного элемента. Такие объекты называются пустыми. Пример – нечетные числа, которые делятся на 2.

Это – только начало. Работа с рассматриваемыми компонентами на самом деле не слишком трудная. Особенно если предварительно хорошенько ознакомиться с математической теорией.

Виды

Существуют совершенно разные виды множеств, особенно в разработке. Этот момент зависит от того, какой тип данных хранит в себе «неупорядоченный массив», а также от размера:

  1. Числовые. Его элементами будут являться только числа.
  2. Тестовые. Несут в себе элементы, состоящие из текстовых значений. В математике не встречается. Такой вариант актуален только для разработки.
  3. Конечные. Совокупности, обладающие минимальными и максимальными пределами. Наглядные пример – отрезки.
  4. Бесконечные. Множества, которые не имеют конца. Пример – числовые совокупности.
  5. Пустые. Те, что не содержат в себе никаких элементов.

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

Множества: определение, значимость, применение в программировании

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

Натуральные совокупности

Существуют разные виды множеств как в математике, так и в программировании. Работа даже в разработке программного обеспечения в основном происходит при помощи числовых значений и совокупностей. Поэтому соответствующему типу «неупорядоченных массивов» рекомендуется уделить больше времени.

Первый вариант – множества натуральных чисел. К ним относятся цифры, которые люди используют при счете. Начинаются с 1 и длятся до бесконечности.

Вопрос относительно ноля неоднозначен. Некоторые ученые по сей день говорят, что он относится к натуральным, а кто-то твердит об обратном.

Работа с такими множествами используется для исчисления порядка предметов, элементов или иных объектов. Обязательным условием является то, что каждое число в рассматриваемой совокупности должно быть больше предыдущего. В программировании такое множество является массивом.

Целые совокупности

А это – совокупность, которая включает в себя:

  • ноль;
  • положительные натуральные числа;
  • отрицательные числа.

Это – «расширенная версия» множества натуральных совокупностей. Отсюда следует, что N является подмножеством Z.

Рациональные совокупности

Q – это множество, которое включает в себя целые и смешанные числа, а также дроби (десятичные и обычные). Любое рациональное число можно представить в виде дроби. У нее числитель – это разные целые, а знаменатели – натуральные. N и Z – это подмножества Q.

Как задавать в математике

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

Перечисление всех элементов

Самый простой вариант. Задать множество можно, если просто перечислить все элементы, предусматриваемые заданной совокупностью. Их названия записываются в строчку через запятую. В математике подобная «цепочка» заключается в фигурные скобки. Запись является своеобразным аналогом одномерного массива в разработке, если все числа в совокупности упорядочены.

Множества: определение, значимость, применение в программировании

Выше можно увидеть пример того, как соответствующий вариант будет выглядеть на практике.

Через характеристическое свойство

Характеристическое свойство – свойство, которым обладает каждый элемент, принадлежащий множеству, и не обладает ни один элемент за его пределами.

Множества: определение, значимость, применение в программировании

При помощи формулировки такого «параметра» можно задать множество данных в математике.  Пример – это совокупность, состоящая из натуральных чисел меньше 10. В Pascal такой прием можно назвать «задание множества по установленному правилу/формуле».

Несколько слов о подмножествах

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

Здесь необходимо запомнить следующее:

  1. B – подмножество A, если все его элементы включены во вторую совокупность.
  2. Любое непустое подмножество B множества A, которое не совпадает с A – это собственное подмножество.
  3. Для множества A пустое множество и сама совокупность A – это несобственные подмножества A.
  4. Множество, включающее в свой состав все рассматриваемые множества – универсальное. Обозначается в математике как U.
  5. Для каждого множества, состоящего из n элементов, допускается образование 2n подмножеств.
  6. Любую рассматриваемую совокупность можно изобразить графически. Для этого нужно ее элементы представить в виде точек в пределах заданного контура.
  7. Универсальное множество изображается в виде прямоугольника. Остальные – кругами.

Для того, чтобы изобразить множества и операции над ними, обычно используются так называемые диаграммы Венна. Они будут приведены ниже. Нужны не только для обозначения «упорядоченных массивов информации» на бумаге, но и помогают найти результат выполнения тех или иных операций.

Отношения

Иногда в математических задачах необходимо найти отношение между несколькими «неупорядоченными массивами». Для этого нужны как графические интерпретации (они помогают быстрее и лучше разобраться в выбранном направлении), так и некоторые теоретические данные.

Здесь рекомендуется запомнить следующие особенности:

  1. Если у двух множеств нет общих элементов – они находятся в отношении непересечения.
  2. Когда общие элементы есть – множества находятся в отношении пересечения.
  3. Если существует элемент (хотя бы один), который принадлежит исключительно множеству A, а также отдельный элемент, относящийся только к B и такой компонент, который относится к обоим «неупорядоченным массивам» — это ситуация, при которой A и B находятся в «обобщенном» положении пересечения.
  4. Отношение включения – когда все элементы одного множества включены в полной мере в другое.
  5. Равенство – если каждый элемент из A будет выступать элементом B. В данном случае необходимо действие обратного утверждения: когда также компоненты B включены в A.
Множества: определение, значимость, применение в программировании

Выше – пример того, как грамотно определять отношения между двумя множествами. Это схематическое представление является универсальным.

Особенности работы с Python

Перед тем как выполнять различные операции с имеющимися множествами, стоит изучить много информации по Python. Возможные манипуляции с «неупорядоченными массивами» будут рассматриваться не в теории и математике, а непосредственно на программном коде. Это поможет лучше разобраться в выбранном направлении.

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

Задание

Для манипуляций с множеством сначала требуется создать соответствующий элемент программного кода. Его элементы указываются в фигурных скобках. Исключением послужит пустое множество. Оно будет устанавливаться в коде за счет функции set.

В set можно передать в качестве параметра:

  • список;
  • кортеж;
  • строку.

При обработке кода происходит возврат множества, составленного из элементов соответствующего объекта.

Множества: определение, значимость, применение в программировании

Каждый элемент множества может быть включен в него единожды. Повторения в Python возможны, но в единичных ситуациях. Чаще всего такая ситуация рассматривается системой как ошибка или вовсе игнорируется.

Работа с элементами

Рассматривая операции со множествами, нужно сначала научиться выполнять различные манипуляции над элементами «неупорядоченных массивов» в Python:

  1. Для того чтобы найти количество элементов в заданной совокупности, используется len.
  2. Перебор элементов производится при помощи цикла for. Переборка проводится в хаотичном порядке.
  3. Для проверки элемента на принадлежность к совокупности нужно использовать in. Она вернет значение bool. Для соответствующей операции можно использовать not in.
  4. Для добавления нового элемента используют различные методы. Один из них – через функцию add.
  5. Для удаления в Python используются команды discard и remove.
  6. Set – команда, которая позволяет устанавливать множество информации в программном коде.
  7. Pop – метод, который удалит один случайный элемент. После этого произойдет возврат его значения. Также в Python будет сгенерировано исключение KeyError.

Для того, чтобы создать список, в Питоне нужно использовать команду list. Эта информация – базовые знания, без которых не получится полноценно рассмотреть манипуляции с множествами.

Способы записи данных

Перед тем, как найти элементы множества и выполнить с ними те или иные действия, нужно задать соответствующие компоненты. В Python такие действия осуществляются несколькими способами:

  • вручную;
  • чтением из текстовых документов;
  • при помощи генератора случайных чисел;
  • по формуле или условиям.

Вторая концепция встречается крайне редко, поэтому пользоваться ей приходится в исключительных ситуациях. Для новичков такой прием не имеет особой значимости.

Задание вручную

Первый и самый простой вариант. Он напоминает задание элементов множества в математике. При запуске приложения пользователь сам будет вводить компоненты совокупности. Для этого используется клавиатура.

Множества: определение, значимость, применение в программировании

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

Множества: определение, значимость, применение в программировании

Выше – образец кода, который поможет задать элементы множества непосредственно через клавиатуру.

Генератор случайных чисел

А вот – прием, который позволяет заполнять множество случайными числами:

Множества: определение, значимость, применение в программировании

Такая концепция помогает удостовериться в работоспособности имеющегося кода или его фрагмента. Интервал, в пределах которого нужно задавать числа, устанавливается пользователем самостоятельно.

По формуле

Это – пример кода, помогающего задать элементы множества по определенным правилам:

Множества: определение, значимость, применение в программировании

Такой вариант используется при решении огромного количества задач. Он имеет аналогию в математике.

Операции

Теперь можно рассмотреть основные операции со множествами. Их в Python можно условно разделить на математические и «специальные». Основной упор будет сделан на первую категорию. Она является более распространенной.

Объединение

Базовая операция, которая выступает в качестве элементарной. Результатом будет массив, который включает в себя все элементы заданных «неупорядоченных цепочек данных».

Объединение можно провести через:

  • оператор | («вертикальная черта»);
  • метод union().
Множества: определение, значимость, применение в программировании

Это – графическая интерпретация соответствующей операции при помощи диаграммы Венна.

Множества: определение, значимость, применение в программировании
Множества: определение, значимость, применение в программировании

Выше можно увидеть форму представления объединения в Python обоими методами.

Пересечение

Еще одна базовая операция. Она активно изучается в школьной программе на уроках математики и алгебры. Результатом вычислений станет множество, которое включает в себя элементы, входящие в состав обоих «неупорядоченных массивов». Главное, чтобы эти компоненты были в них одновременно.

Множества: определение, значимость, применение в программировании

Такой код можно найти, если изучать программирование на Python.

Множества: определение, значимость, применение в программировании
Множества: определение, значимость, применение в программировании

Для того, чтобы воспользоваться соответствующей операцией, можно задействовать оператор & или метод intersection.

Разность

Разность множеств – это формирование нового «неупорядоченного массива». В нем будут содержаться лишь элементы, которые включены только к первому множеству.

Множества: определение, значимость, применение в программировании

Если осуществить поиск данных в Python по реализации данной операции, можно увидеть, что для этого используется или метод difference, или оператор -.

Множества: определение, значимость, применение в программировании
Множества: определение, значимость, применение в программировании

Также есть симметрическая разность. Результатом станет множество, в котором содержатся элементы из обоих массив. Исключены те, что есть сразу в обоих «неупорядоченных массивов». Система находит так называемое пересечение и устраняет его из итогового результата.

Множества: определение, значимость, применение в программировании

В Python для реализации этой манипуляции используют или метод symmetric difference, или ^.

Множества: определение, значимость, применение в программировании
Множества: определение, значимость, применение в программировании

Так выглядит непосредственная реализация на выбранном языке программирования.

Особые методы

Кроме изученных ранее операций с «неупорядоченными массивами» можно выполнять иные манипуляции. Они носят название «специальных». Сюда относят следующие варианты:

  1. Определение, есть ли у двух set-ов общие элементы. Для этого используется Isdisjoint().
  2. Issubset(). Данный метод используется для проверки на подмножество. Оператор < тут будет определять строгость подмножества. Он ведет себя подобно <=.
  3. Issupset(). Аналог предыдущего варианта, но с оператором >.
  4. Update(). Используется для того, чтобы изменить исходное множество по объединению.
  5. Interseption_update(). Отвечает за пересечение.
  6. Difference_update. Позволяет корректировать разность множеств.
  7. Symmetric_difference_update(). Поддерживает изменение симметрической разности.
Множества: определение, значимость, применение в программировании

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

Как вывести

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

Множества: определение, значимость, применение в программировании

Для реализации поставленной задачи необходимо использовать цикл. Лучше всего для этого подходит for.

Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!

Также вам может быть интересен следующий курс:

Множества: определение, значимость, применение в программировании

МАТЕМАТИКА