АкушерствоАнатомияАнестезиологияВакцинопрофилактикаВалеологияВетеринарияГигиенаЗаболеванияИммунологияКардиологияНеврологияНефрологияОнкологияОториноларингологияОфтальмологияПаразитологияПедиатрияПервая помощьПсихиатрияПульмонологияРеанимацияРевматологияСтоматологияТерапияТоксикологияТравматологияУрологияФармакологияФармацевтикаФизиотерапияФтизиатрияХирургияЭндокринологияЭпидемиология
|
Выражения с множествами
Значения типа множество могут быть вычислены из других значений типа множество с помощью выражений и присвоены переменным с помощью оператора присваивания. Множественные выражения состоят из операндов множественного типа и операций над множествами.
Операнды множественного типа:
- переменные типа множество;
- множественные конструкции (множественные константы).
Множественная конструкция — это одна или несколько спецификаций элемента, разделенных запятыми и заключенных в квадратные скобки. Спецификация элемента — это выражение того же типа, что и базовый тип множества, или диапазон, записанный как два таких выражения, разделенных двумя последовательными точками.
Например,
[ 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-09-27 | Просмотры: 510 | Нарушение авторских прав
|