64 lines
2.8 KiB
HTML
64 lines
2.8 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> |