64 lines
3.3 KiB
HTML
64 lines
3.3 KiB
HTML
<html><head>
|
||
<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
||
<param name="Keyword" value="in">
|
||
</object>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
|
||
<title></title>
|
||
<link rel="StyleSheet" href="../../default.css"></head>
|
||
<body><H1>Операции с множествами</H1>
|
||
<p>К множествам с базовыми элементами одного типа применимы
|
||
операции <code><b>in</b></code>
|
||
(принадлежность) <code>+</code> (объединение), <code>-</code>
|
||
(разность) и <code>*</code> (пересечение)<span lang="ru">, а также операторы </span><code>
|
||
+=</code><span lang="ru">, </span><code>-=</code><span lang="ru"> и </span>
|
||
<code>*=</code>: </p>
|
||
<blockquote>
|
||
<p><code><b>var</b> s1,s2,s: <b>set</b> <b>of</b> byte;<br>
|
||
<b>begin<br>
|
||
</b> s1 := [1..4];<br>
|
||
s2 := [2..5];<br>
|
||
s := s1 + s2; // s = [1..5]<br>
|
||
s := s1 - s2; // s = [1]<br>
|
||
s := s1 * s2; // s = [2..4]<br>// s <span lang="ru">+</span>=<span lang="ru">
|
||
s1 эквивалентно s := s + s1</span><br>// s -=<span lang="ru">
|
||
s1 эквивалентно s := s - s1</span><br>// s *=<span lang="ru">
|
||
s1 эквивалентно s := s * s1</span><br><span lang="ru"> </span>s <span lang="ru">+</span>=<span lang="ru">
|
||
</span>[3..6]; // s = [2..6] <br>
|
||
<span lang="ru"> </span>s -=<span lang="ru"> </span>[3];
|
||
// s = [2,4..6] <br>
|
||
<span lang="ru"> </span>s *=<span lang="ru"> </span>[1..5]; // s = [2,4..5]
|
||
<br> Print(3 <strong>in</strong> s1); // True<br>
|
||
<b>end</b>.</code></p>
|
||
</blockquote>
|
||
<p>К множествам с базовыми элементами одного типа применимы также операции
|
||
сравнения = (равенство), <code><></code>
|
||
(неравенство), <= (нестрого вложено), < (строго вложено), >= (нестрого содержит) и
|
||
> (строго содержит):</p>
|
||
<blockquote>
|
||
<p><code>[1..3] = [1,2,3]<br>
|
||
['a'..'z'] <> ['0'..'9']<br>
|
||
[2..4] < [1..5]<br>
|
||
[1..5] <= [1..5]<br>
|
||
[1..5] > [2..4]<br>
|
||
[1..5] >= [1..5]</code></p>
|
||
</blockquote>
|
||
<p>Но неверно, что <code>[1..5] < [1..5]</code>.</p>
|
||
<p>Наконец, операция <code><b>in</b></code>
|
||
определяет, принадлежит ли элемент множеству: <code>3 <b>in</b> [2..5]</code>
|
||
вернет <code>True</code>, <code>1 <b>in</b> [2..5]</code> вернет <code>False</code>.</p>
|
||
<p>К множествам относятся также типы HashSet<T> и SortedSet<T>. К переменным
|
||
этого типа применимы те же операции, что и к встроенным множествам:</p>
|
||
<blockquote>
|
||
<p><code><b>begin<br>
|
||
var
|
||
</b>s1 := new HashSet<integer>;<br> s1 := HSet(Range(1,4));<br>
|
||
<b> var
|
||
</b>s2 := HSet(Range(2,5));<br>
|
||
<strong>var </strong>s := s1 + s2; // s = [1..5]<br>
|
||
<strong>var </strong>s := s1 - s2; // s = [1]<br>
|
||
<strong>var </strong>s := s1 * s2; // s = [2..4]<br> Print(3
|
||
<strong>in</strong> s1); // True<br><b>end</b>.</code></p>
|
||
</blockquote>
|
||
<p> </p>
|
||
|
||
</body></html> |