72 lines
3 KiB
HTML
72 lines
3 KiB
HTML
<html>
|
|
|
|
<head>
|
|
<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
|
<param name="Keyword" value="case">
|
|
<param name="Keyword" value="of">
|
|
<param name="Keyword" value="else">
|
|
<param name="Keyword" value="Îïåðàòîð âûáîðà">
|
|
</object>
|
|
<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
|
<param name="Keyword" value="case">
|
|
</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><i>Îïåðàòîð âûáîðà</i> âûïîëíÿåò îäíî äåéñòâèå èç íåñêîëüêèõ â çàâèñèìîñòè îò
|
|
çíà÷åíèÿ íåêîòîðîãî âûðàæåíèÿ, íàçûâàåìîãî <i>ïåðåêëþ÷àòåëåì</i>. Îí èìååò
|
|
ñëåäóþùèé âèä:</p>
|
|
<blockquote>
|
|
<p><b><code>case</code></b> <code class="codeit">ïåðåêëþ÷àòåëü</code> <code>
|
|
<b>of<br>
|
|
</b> </code> <code class="codeit">ñïèñîê âûáîðà 1</code><code>: </code> <code class="codeit">
|
|
îïåðàòîð1</code><code>;<br>
|
|
...<br>
|
|
</code> <code class="codeit">ñïèñîê âûáîðà N</code><code>:
|
|
</code> <code class="codeit">îïåðàòîðN</code><code>;<br>
|
|
<b> else</b></code> <code class="codeit">ñïèñîê îïåðàòîðîâ<br>
|
|
</code><code><b>end</b>;</code> </p>
|
|
</blockquote>
|
|
<p>Ïåðåêëþ÷àòåëü ïðåäñòàâëÿåò ñîáîé âûðàæåíèå <a href="../Types/index_types.html">ïîðÿäêîâîãî òèïà</a>
|
|
èëè ñòðîêîâîãî òèïà, à ñïèñêè âûáîðà ñîäåðæàò êîíñòàíòû ñîâìåñòèìîãî
|
|
ïî ïðèñâàèâàíèþ òèïà. Êàê è
|
|
â îïåðàòîðå <b><code>if</code></b>, âåòêà <b><code>else</code></b> ìîæåò
|
|
îòñóòñòâîâàòü. </p>
|
|
<p>Îïåðàòîð <b><code>case</code></b> ðàáîòàåò ñëåäóþùèì îáðàçîì. Åñëè â îäíîì èç
|
|
ñïèñêîâ âûáîðà íàéäåíî òåêóùåå çíà÷åíèå ïåðåêëþ÷àòåëÿ, òî âûïîëíÿåòñÿ îïåðàòîð,
|
|
ñîîòâåòñòâóþùèé äàííîìó ñïèñêó. Åñëè æå çíà÷åíèå ïåðåêëþ÷àòåëÿ íå íàéäåíî íè â
|
|
îäíîì ñïèñêå, òî âûïîëíÿåòñÿ ñïèñîê îïåðàòîðîâ ïî âåòêå <b><code>else</code></b> èëè,
|
|
åñëè âåòêà <b><code>else</code></b> îòñóòñòâóåò, îïåðàòîð <b><code>case</code></b>
|
|
íå âûïîëíÿåò íèêàêèõ äåéñòâèé. </p>
|
|
<p>Ñïèñîê âûáîðà ñîñòîèò ëèáî èç îäíîé êîíñòàíòû, ëèáî äëÿ ïåðå÷èñëèìîãî òèïà èç äèàïàçîíà çíà÷åíèé
|
|
âèäà <code>a..b</code> (êîíñòàíòà <code>a</code> äîëæíà áûòü ìåíüøå êîíñòàíòû
|
|
<code>b</code>); ìîæíî òàêæå ïåðå÷èñëèòü íåñêîëüêî êîíñòàíò èëè äèàïàçîíîâ ÷åðåç
|
|
çàïÿòóþ. Íàïðèìåð:</p>
|
|
<blockquote>
|
|
<p><code><b>case </b>Country <strong>of</strong><br>
|
|
'Ðîññèÿ': Capital := 'Ìîñêâà';<br>
|
|
'Ôðàíöèÿ': Capital := 'Ïàðèæ';<br>
|
|
'Èòàëèÿ': Capital := 'Ðèì';<br> <strong>else</strong> Capital
|
|
:= 'Ñòðàíà îòñóòñòâóåò â áàçå äàííûõ';<br><strong>end</strong>;</code></p>
|
|
<p><code><b>case</b> DayOfWeek <b>of</b><br>
|
|
1..5: writeln('Áóäíèé äåíü');<br>
|
|
6,7: writeln('Âûõîäíîé äåíü');<br>
|
|
<b>end</b>;</code></p>
|
|
</blockquote>
|
|
<p>Ñïèñêè âûáîðà íå äîëæíû ïåðåñåêàòüñÿ. Íàïðèìåð, ñëåäóþùèé ôðàãìåíò</p>
|
|
<blockquote>
|
|
<p><code><b>case</b> i <b>of</b><br>
|
|
2,5: write(1);<br>
|
|
4..6: write(2);<br>
|
|
<b>end</b>;</code></p>
|
|
</blockquote>
|
|
<p>ïðèâåäåò ê îøèáêå êîìïèëÿöèè.</p>
|
|
<p> </p>
|
|
</body>
|
|
|
|
</html>
|