Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Выражения с множествами

Читайте также:
  1. Аналитические выражения второго закона термодинамики.
  2. Арифметические выражения, арифметические операции, стандартные арифметические функции. Оператор присваивания.
  3. Билет 17. Тип множество: описание, ввод, вывод, операции над множествами
  4. Виды административно-правовых форм государственного управления в административном праве классифицируются по содержанию и способу выражения.
  5. Вопрос №95 Правовой нигилизм. понятие, источники, формы выражения.
  6. Выражения и операторы
  7. Выражения.
  8. Вычисление выражения по обратной польской записи
  9. Дисперсные системы. Истинные растворы. Концентрация растворов и способы ее выражения.

Множества

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

Все элементы множества должны принадлежать одному из скалярных типов, кроме вещественных (и других скалярных типов, число элементов которых превышает 256). Этот тип называется базовым типом множества. Количество элементов множества не должно превышать 256. Поэтому нельзя использовать в качестве базового типа типы, количество элементов которых превышает 256 (например, Integer), для таких типов в качестве базового типа можно использовать диапазоны или перечисления из их значений.

Область значений переменных типа множество — набор всевозможных подмножеств, составленных из элементов базового типа. Если базовый тип принимает N значений, то тип множество для него будет иметь вариантов различных значений (порядок элементов в подмножествах не учитывается).

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

1-ый способ:

Type

имя_типа_множество = set of базовый_тип;

Var

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

2-ой способ:

Var

имя_множества: set of базовый_тип;

Пример 7.1 (описания множеств):

Type

Chislo = set of 1 .. 31;

LatBold = set of ‘A’ .. ’Z’;

Col = set of (Red, Green, Blue);

Day = (Mon, Tues, Wed, Thur, Fri, Sat, Sun);

WorkDay = set of Mon .. Fri;

Var

Ch1, Ch2: Chislo;

LatB1: LatBold;

C1, C2, C3: Col;

WD1, WD2, WD3, WD4: WorkDay;

KirB: set of ‘А’ .. ’Я’;

Выражения с множествами

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

Операнды множественного типа:

- переменные типа множество;

- множественные конструкции (множественные константы).

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

Например,

[ 1, 2, 5, 17 ]

[ 1 .. 50 ]

[ 1 .. 5, 10 .. 100 ]

[ x + y .. 2* x +3* y ]

[ ‘P’, ‘a’, ‘s’, ‘c’, ‘a’, ‘l’ ]

[ ‘A’ .. ’Z’ ]

[ ] — пустое множество

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

1) * (пересечение: );

2) + (объединение: );

– (относительное дополнение — разность множеств: \);

3) операции отношения:

= (проверка равенства множеств);

<> (проверка неравенства множеств);

<= или >= (проверка включения одного множества в другое);

in (проверка принадлежности элемента множеству).

Примеры 7.2 (операции над множествами):

A B Операция Результат
[ 1, 2, 3 ] [ 2, 3, 4 ] A * B [ 2, 3 ]

 

A B Операция Результат
[ 1, 2, 3 ] [ 2, 3, 4 ] A + B [ 1, 2, 3, 4 ]

 

A B Операция Результат
[ 1, 2, 3 ] [ 2, 3, 4 ] A - B [ 1 ]

 

A B Операция Результат
[ 1, 2, 3 ] [ 2, 3, 4 ] A = B False
[ 1, 2, 3 ] [ 1, 2, 3 ] A = B True
[ ’a’..’z’ ] [ ’a’..’z’ ] A = B True
[ ’a’..’z’ ] [ ’b’..’z’ ] A = B False

 

A B Операция Результат
[ 1, 2, 3 ] [ 2, 3, 4 ] A <> B True
[ 1, 2, 3 ] [ 1, 2, 3 ] A <> B False
[ ’a’..’z’ ] [ ’a’..’z’ ] A <> B False
[ ’a’..’z’ ] [ ’b’..’z’ ] A <> B True

 

A B Операция Результат
[ 1, 2, 3, 4 ] [ 2, 3, 4 ] A >= B True
[ 1, 2, 3 ] [ 2, 3, 4 ] A >= B False

 

A B Операция Результат
[ 2, 3, 4 ] [ 1, 2, 3, 4 ] A <= B True
[ 2, 3, 4 ] [ 1, 2, 3 ] A <= B False

 

N A Операция Результат
  [ 2, 3, 4 ] N in A True
  [ 2, 3, 4 ] N in A False
’d’ [ ’b’..’z’ ] N in A True
’a’ [ ’b’..’z’ ] N in A False

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




Дата добавления: 2015-02-16; просмотров: 151 | Поможем написать вашу работу | Нарушение авторских прав

<== предыдущая лекция | следующая лекция ==>
Процедуры ввода-вывода| Case поле_признака : имя_типа of

lektsii.net - Лекции.Нет - 2014-2025 год. (0.009 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав