No Image

Set of char в паскале

СОДЕРЖАНИЕ
983 просмотров
10 марта 2020

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

Диапазон значений типа множество представляет собой мощность множества для определенного порядкового типа (базового типа). Каждое возможное значение типа множество является подмножеством возможных значений базового типа.

Переменная типа множество может принимать как все значения множества, так и ни одного.

Базовый тип не должен иметь более 256 возможных значений и порядковые значения верхней и нижней границы базового типа не должны превышать диапазона от 0 до 255. В силу этого базовый тип множества не может быть ShorInt, Integer, LongInt, Word.

Любой множественный тип может принимать значение [], которое называется пустым множеством.

Множество можно описать тремя способами:

  1. В разделе описания переменных:
  2. В разделе описания типов:
  3. В разделе описания констант:

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

Над множествами возможны операции:

Операция проверки на вхождение множества в множество (>=,

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

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

Размер множества в Turbo Pascal всегда ограничен некоторым предельно допустимым количеством элементов. Во множествах допускаются только такие элементы, порядковые значения которых не выходят за границы 0..255. Для целочисленных множеств это означает, что в них могут присутствовать только числа от 0 до 255. Отрицательные элементы множеств в Turbo Pascal не допускаются. Поэтому базовыми типами не могут быть типы shortint, integer, longint. Если же необходимо множество целочисленных объектов, то базовый тип должен объявлен как диапазон типа byte. Для множеств, содержащих символы, подобных затруднений нет, поскольку базовым типом для них является char (а в нем 256 значений с порядковыми номерами от 0 до 255).

Читайте также:  Libraries joomla session session php

В математике для обозначения множества используют фигурные скобки (например, <4, 7, 12>), в Паскаль — квадратные (например, [1, 3, 5]). Порядок элементов во множестве не имеет значения. Так, записав [3, 6, 9] или [9, 3, 6], мы будем иметь дело с одним и тем же множеством. Более того, многократное повторение одного и того же элемента не меняет множество. Например, [4, 7, 3] и [3, 7, 4, 4] – это одно и то же множество.

По форме записи объявление переменной типа множество сходно с объявлением одномерного массива:

Например, объявление переменной ch , рассматриваемой как множество с базовым типом char, имеет вид:

В отличие от элементов массива, элементы множества не упорядочены и не имеют индексов.

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

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

Объявление переменной-множества не дает ей определенного значения.

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

Чтобы во множестве появились элементы, необходимо выполнить оператор присваивания, в левой части которого стоит имя переменной-множества, а в правой — конструктор множества или некоторое выражение над множествами.

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

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

Множество, в котором нет элементов, называется пустым (или нуль-множеством). В языке программирования Паскаль обозначается квадратными скобками, между которыми нет элементов:

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

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

Читайте также:  Диагностика материнских плат самостоятельно

Конструируя множества, можно использовать и переменные при условии, что их текущие значения попадают в диапазон базового типа множества. Так, если ch1 и ch2 имеют тип char , то допустима следующая последовательность операторов:

В результате получится множество [‘A’, ‘K’, ‘M’].

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

Действия над множествами

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

Над множествами выполнимы объединение (+), пересечение (*) и разность (-).

Объединение двух множеств A и B (A + B) – это новое множество, состоящее из элементов, принадлежащих множеству A или B, либо тому и другому одновременно.

Результат: chs3 = [ ‘a’ , ‘b’ , ‘d’ , ‘m’ , ‘e’ , ‘k’ , ‘n’ ] .

Пересечение двух множеств A и B (A * B) – это множество, состоящее из элементов, одновременно принадлежащих множествам A и B.

Результат: chs3 = [‘d’].

Разность двух множеств A и B (A – B) – это новое множество, состоящее из элементов множества A, не вошедших в множество B.

Манипулируя операциями над множествами, можно добавлять элементы к множествам или удалять их.

Для вставки и удаления элементов при работе с множествами в Pascal введены две процедуры:

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

Другие операции над множествами

Над множествами можно выполнять четыре операции сравнения: =, <>, >=, B), если они отличаются хотя бы одним элементом.

Множество A является подмножеством множества B (A = A), если каждый элемент из A присутствует в B.

Имеется также возможность выяснить, принадлежит ли данный элемент некоторому множеству. Для этого служит операция in. Пусть A – множество элементов некоторого базового типа, а x – переменная (константа, выражение) этого типа. Тогда выражение x in A истинно, если значение x является элементом множества A.

Читайте также:  Fb2 reader для mac os

Все операции сравнения множеств, а также операция in возвращают логическое значение true или false.

В сложных выражениях над множествами операции имеют следующие приоритеты:

В Паскале Множество – совокупность неупорядоченных данных указанного (базового) типа. Базовый тип:

Поэтому, базовым типом множества не может быть ни Real (не порядковый тип), ни типы ShorInt, Integer, LongInt или Word (несовпадение диапазонов).

Переменная типа множество может принимать как все значения множества, так и ни одного.

Любой множественный тип может принимать значение [], которое называется пустым множеством.

Множество можно описать тремя способами:

Примеры описания массивов

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

Над множествами возможны операции:

Операция объединения: С:=А+В

Операция пересечения: С:=А*В

Операция разности: С:=А-В

Операция равенства(совпадения) множеств: С=В

Операция неравенства: C <> B

Операция проверки на вхождение множества в множество: A ⇐ B – включено ли А в В;

Операция проверки на вхождение элемента в множество (in): С in B – входит ли элемент С в множество В

Комментировать
983 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
Adblock
detector