54 lines
2.2 KiB
HTML
54 lines
2.2 KiB
HTML
<html><head>
|
|
<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
|
<param name="Keyword" value="Óñëîâíàÿ îïåðàöèÿ">
|
|
</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>Óñëîâíàÿ îïåðàöèÿ (<strong>ïåðâàÿ ôîðìà</strong>) èìååò ñëåäóþùèé âèä:</p>
|
|
<blockquote>
|
|
<em>óñëîâèå</em> <code>?</code> <em>âûðàæåíèå1</em> <code>:</code> <em>âûðàæåíèå2</em>
|
|
</blockquote>
|
|
<p>Åñëè óñëîâèå âûïîëíÿåòñÿ, òî ðåçóëüòàòîì ÿâëÿåòñÿ çíà÷åíèå âûðàæåíèÿ1, èíà÷å
|
|
çíà÷åíèå âûðàæåíèÿ2.</p>
|
|
<p>Íàïðèìåð:</p>
|
|
<blockquote>
|
|
<p><code><b>var</b> min := a < b ? a : b;</code></p>
|
|
</blockquote>
|
|
<p>Íåòðóäíî âèäåòü, ÷òî óñëîâíàÿ îïåðàöèÿ ïîçâîëÿåò â ïðîñòûõ ñëó÷àÿõ íå
|
|
èñïîëüçîâàòü óñëîâíûé îïåðàòîð. Íàïðèìåð, ïðåäûäóùèé êîä äëÿ âåùåñòâåííûõ a è b
|
|
ýêâèâàëåíòåí ñëåäóþùåìó:</p>
|
|
<blockquote>
|
|
<p><code><b>var</b> min: real;<br><strong>if</strong> a<b <strong>then</strong><br>
|
|
min := a<br><strong>else</strong> min := b;</code></p>
|
|
</blockquote>
|
|
|
|
<p>Êðîìå òîãî, èìååòñÿ <strong>âòîðàÿ ôîðìà óñëîâíîé îïåðàöèè</strong> â
|
|
ñèíòàêñèñå Ïàñêàëÿ: </p>
|
|
<blockquote>
|
|
<code><strong>if</strong><em> </em> </code>
|
|
<em>óñëîâèå</em> <code> <strong>then</strong></code> <em>âûðàæåíèå1</em> <code><strong>else</strong></code> <em>âûðàæåíèå2</em>
|
|
</blockquote>
|
|
<p>Íàïðèìåð: </p>
|
|
<blockquote>
|
|
<p><code><b>var</b> min := <strong>if</strong> a < b <strong>then</strong> a
|
|
<strong>else</strong> b;</code></p>
|
|
</blockquote>
|
|
<p>Ðåêîìåíäóåòñÿ èñïîëüçîâàòü âòîðóþ ôîðìó óñëîâíîé îïåðàöèè.</p>
|
|
<p><strong>Îãðàíè÷åíèå</strong>. Âòîðóþ ôîðìó óñëîâíîé îïåðàöèè íåëüçÿ
|
|
èñïîëüçîâàòü â êà÷åñòâå âûðàæåíèÿ âåðõíåãî óðîâíÿ â ëÿìáäàõ. Ñëåäóþùèé êîä
|
|
îøèáî÷åí:</p>
|
|
<blockquote>
|
|
<p><code><b>var</b> l: real -> real := x -> <strong>if</strong> x<0 <strong>
|
|
then</strong> 0 <strong>else</strong> x;</code></p>
|
|
</blockquote>
|
|
<p>Äëÿ ðåøåíèÿ óêàçàííîé ïðîáëåìû ìîæíî âçÿòü óñëîâíóþ îïåðàöèþ â ñêîáêè:</p>
|
|
<blockquote>
|
|
<p><code><b>var</b> l: real -> real := x -> (<strong>if</strong> x<0 <strong>
|
|
then</strong> 0 <strong>else</strong> x);</code></p>
|
|
</blockquote>
|
|
<p> </p>
|
|
|
|
</body></html> |