pascalabcnet/PABCNetHelp/LangGuide/Operators/for.html
Mikhalkovich Stanislav 3240593d2e Реализован foreach index
Исправлена ошибка for step
Дополнена справка по for step и foreach index
J,yjdkty ntrcnjdsq htlfrnjh? gjlcdtxbdf.obq ыеуз b штвуч rjyntrcnyj d hfvrf[ jlyjq cnhjrb
2022-02-26 12:33:53 +03:00

123 lines
5.7 KiB
HTML

<html>
<head>
<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
<param name="Keyword" value="for">
<param name="Keyword" value="to">
<param name="Keyword" value="downto">
<param name="Keyword" value="do">
<param name="Keyword" value="step">
</object>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title></title>
<link rel="StyleSheet" href="../../default.css">
<style type="text/css">
.auto-style1 {
color: #FF0000;
}
</style>
</head>
<body>
<H1>Îïåðàòîð öèêëà for</H1>
<p>Îïåðàòîð öèêëà <code><b>for</b></code> èìååò îäíó èç äâóõ
ôîðì:</p>
<blockquote>
<p><code><b>for</b> </code><code class="codeit">ïåðåìåííàÿ</code><code> :=</code><code>
</code><code class="codeit">íà÷àëüíîå
çíà÷åíèå</code><code> <b>to</b> </code><code class="codeit">êîíå÷íîå
çíà÷åíèå</code><code> <b>do</b><br>
&nbsp; </code><code class="codeit">îïåðàòîð</code></p>
</blockquote>
<p>èëè</p>
<blockquote>
<p><code><b>for</b> </code><code class="codeit">ïåðåìåííàÿ</code><code> :=
</code><code class="codeit">íà÷àëüíîå
çíà÷åíèå</code><code> <b>downto</b> </code><code class="codeit">êîíå÷íîå
çíà÷åíèå</code><code> <b>do</b><br>
&nbsp; </code><code class="codeit">îïåðàòîð</code></p>
</blockquote>
<p>Êðîìå òîãî, ïåðåìåííóþ ìîæíî îïèñàòü íåïîñðåäñòâåííî â
çàãîëîâêå öèêëà:</p>
<blockquote>
<p><code><b>for</b> </code><code class="codeit">ïåðåìåííàÿ</code><code>:</code><code class="codeit"> òèï</code><code> := </code><code class="codeit">íà÷àëüíîå
çíà÷åíèå</code><code> <b>to</b> </code><code class="codeit">èëè</code><code><span lang="ru">
</span> <b>downto</b> </code><code class="codeit">êîíå÷íîå
çíà÷åíèå</code><code> <b>do</b><br>
&nbsp; </code><code class="codeit">îïåðàòîð</code></p>
</blockquote>
<p>èëè</p>
<blockquote>
<p><code><b>for var</b> </code><code class="codeit">ïåðåìåííàÿ</code><code> :=
</code><code class="codeit">íà÷àëüíîå
çíà÷åíèå</code><code> <b>to</b> </code><code class="codeit">èëè</code><code><span lang="ru">
</span> <b>downto</b> </code><code class="codeit">êîíå÷íîå
çíà÷åíèå</code><code> <b>do</b><br>
&nbsp; </code><code class="codeit">îïåðàòîð</code></p>
</blockquote>
<p> ïîñëåäíåì ñëó÷àå èñïîëüçóåòñÿ <em><strong><span class="auto-style1">àâòîîïðåäåëåíèå òèïà</span></strong></em>
ïåðåìåííîé ïî òèïó íà÷àëüíîãî çíà÷åíèÿ.  äâóõ ïîñëåäíèõ ñëó÷àÿõ îáëàñòü äåéñòâèÿ
îáúÿâëåííîé ïåðåìåííîé ðàñïðîñòðàíÿåòñÿ äî êîíöà òåëà öèêëà, êîòîðîå â äàííîì ñëó÷àå
îáðàçóåò íåÿâíûé áëîê. Âíå òåëà öèêëà òàêàÿ ïåðåìåííàÿ íåäîñòóïíà, ïîýòîìó
ñëåäóþùèé öèêë ìîæåò èñïîëüçîâàòü ïåðåìåííóþ ñ òåì æå èìåíåì:</p>
<blockquote>
<p><code><b>for</b> <strong>var</strong> i := 1 <b>to</b> 10 <b>do<br></b>&nbsp;
Print(i);<br>
<b>for</b> <strong>var </strong>i := 1 <b>to</b> 5 <b>do</b><br>
&nbsp; Print(i*i);</code></p>
</blockquote>
<p>Íàêîíåö, â çàãîëîâêå öèêëà for ìîæíî óêàçàòü øàã èçìåíåíèÿ öèêëà:</p>
<blockquote>
<p><code><b>for var</b> </code><code class="codeit">ïåðåìåííàÿ</code><code> :=
</code><code class="codeit">íà÷àëüíîå
çíà÷åíèå</code><code> <b>to</b> </code><code class="codeit">êîíå÷íîå
çíà÷åíèå</code><code> <b>step </b><code class="codeit">çíà÷åíèå<b> </b></code> <b>do</b><br>
&nbsp; </code><code class="codeit">îïåðàòîð</code></p>
</blockquote>
<p>Ïðè íàëè÷èè øàãà öèêëà ðàçðåøàåòñÿ èñïîëüçîâàòü òîëüêî íàïðàâëåíèå <code> <b>to</b></code>. </p>
<p>Øàã <code> <b>step</b></code> ìîæåò áûòü îòðèöàòåëüíûì. Åñëè øàã <code> <b>
step</b></code> ðàâåí íóëþ, âîçíèêàåò îøèáêà âðåìåíè âûïîëíåíèÿ ïðîãðàììû.</p>
<p>Òåêñò îò ñëîâà <code><b>for</b></code> äî ñëîâà <code><b>do</b></code>
âêëþ÷èòåëüíî íàçûâàåòñÿ <b><font color="#FF0000"> <i>çàãîëîâêîì öèêëà</i></font></b>, à
îïåðàòîð ïîñëå <code><b>do</b></code> - <i><b><font color="#FF0000">òåëîì öèêëà</font></b>.</i>
Ïåðåìåííàÿ ïîñëå ñëîâà <code><b>for</b></code> íàçûâàåòñÿ <i><b>
<font color="#FF0000">ïàðàìåòðîì öèêëà</font></b></i>.
Äëÿ ïåðâîé ôîðìû öèêëà ñ êëþ÷åâûì ñëîâîì <code><b>to</b></code>
ïàðàìåòð öèêëà ìåíÿåòñÿ îò íà÷àëüíîãî çíà÷åíèÿ äî
êîíå÷íîãî çíà÷åíèÿ, óâåëè÷èâàÿñü âñÿêèé ðàç íà åäèíèöó, à äëÿ
âòîðîé ôîðìû êëþ÷åâûì ñëîâîì <code><b>downto</b></code> -
óìåíüøàÿñü íà åäèíèöó. Äëÿ êàæäîãî çíà÷åíèÿ ïåðåìåííîé-ïàðàìåòðà
âûïîëíÿåòñÿ òåëî öèêëà. Îäíîêðàòíîå ïîâòîðåíèå òåëà öèêëà
íàçûâàåòñÿ <i><b><font color="#FF0000">èòåðàöèåé öèêëà</font></b></i>. Çíà÷åíèå ïàðàìåòðà öèêëà ïîñëå çàâåðøåíèÿ öèêëà ñ÷èòàåòñÿ íåîïðåäåëåííûì.</p>
<p>Ïåðåìåííàÿ-ïàðàìåòð öèêëà ìîæåò èìåòü ëþáîé <a href="../Types/index_types.html">ïîðÿäêîâûé òèï</a>. Ïðè ýòîì íà÷àëüíîå è
êîíå÷íîå çíà÷åíèÿ äîëæíû áûòü <a href="../Types/typecompatibility.html">
ñîâìåñòèìû ïî ïðèñâàèâàíèþ</a> ñ ïåðåìåííîé-ïàðàìåòðîì öèêëà. </p>
<p>Íàïðèìåð:</p>
<blockquote>
<p><code><b>var</b> en: (red,green,blue,white);<b><br>
...<br>
for</b> en := red <b>to</b> blue <b>do</b><br>
&nbsp; write(Ord(en):2);<br>
<b>for</b> <b>var</b> c := 'a' <b>to</b> 'z' <b>step</b> 2 <b>do</b><br>
&nbsp; write(c);</code></p>
</blockquote>
<p>Åñëè äëÿ öèêëà <code><b>for</b></code> ... <code><b>to</b></code>
íà÷àëüíîå çíà÷åíèå ïåðåìåííîé öèêëà áîëüøå êîíå÷íîãî çíà÷åíèÿ
èëè äëÿ öèêëà&nbsp;<code><b>for</b></code> ...
<code><b>downto</b></code> íà÷àëüíîå çíà÷åíèå ïåðåìåííîé öèêëà
ìåíüøå êîíå÷íîãî çíà÷åíèÿ, òî òåëî öèêëà íå âûïîëíèòñÿ íè ðàçó.</p>
<p>Åñëè öèêë èñïîëüçóåòñÿ â ïîäïðîãðàììå, òî
ïåðåìåííàÿ-ïàðàìåòð öèêëà äîëæíà áûòü îïèñàíà êàê ëîêàëüíàÿ. Íàèëó÷øèì ðåøåíèåì
â PascalABC.NET ÿâëÿåòñÿ îïèñàíèå ïåðåìåííîé â çàãîëîâêå öèêëà.</p>
<p>Èçìåíåíèå ïåðåìåííîé-ïàðàìåòðà öèêëà âíóòðè öèêëà ÿâëÿåòñÿ
ëîãè÷åñêîé îøèáêîé. Íàïðèìåð, ñëåäóþùèé ôðàãìåíò ñî âëîæåííûì îïåðàòîðîì
<code><b>for</b></code> ÿâëÿåòñÿ îøèáî÷íûì:</p>
<blockquote>
<p><code><b>for</b> i := 1 <b>to</b> 10 <b>do</b><br>
&nbsp; i -= 1;</code></p>
</blockquote>
<p>&nbsp;</p>
</body>
</html>