pascalabcnet/PABCNetHelp/LangGuide/_ProgrStruct_Defs/vardef.html

78 lines
3.1 KiB
HTML

<html>
<head>
<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
<param name="Keyword" value="var">
</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 class="pabcmain">Ïåðåìåííûå ìîãóò áûòü îïèñàíû â ðàçäåëå îïèñàíèé, à òàêæå
íåïîñðåäñòâåííî âíóòðè ëþáîãî áëîêà&nbsp; <b><code>begin</code></b>/<b><code>end</code></b>.</p>
<p class="pabcmain">Ðàçäåë îïèñàíèÿ ïåðåìåííûõ íà÷èíàåòñÿ
ñ êëþ÷åâîãî ñëîâà <b><code>var</code></b>,
ïîñëå êîòîðîãî ñëåäóþò ýëåìåíòû îïèñàíèÿ âèäà</p>
<blockquote>
<code class="codeit">ñïèñîê èìåí</code><code>:</code><code class="codeit">
òèï</code><code>;</code></blockquote>
<p class="pabcmain">èëè</p>
<blockquote>
<code class="codeit">èìÿ</code><code>:</code><code class="codeit">
òèï </code><code>:=</code><code class="codeit"> âûðàæåíèå</code><code>;</code>
</blockquote>
<p class="pabcmain">èëè</p>
<blockquote>
<code class="codeit">èìÿ</code><code>:</code><code class="codeit">
òèï </code><code>=</code><code class="codeit"> âûðàæåíèå</code><code>;</code>
<code>// äëÿ ñîâìåñòèìîñòè ñ Delphi </code>
</blockquote>
<p class="pabcmain">èëè</p>
<blockquote>
<code class="codeit">èìÿ </code><code>:=</code><code class="codeit">
âûðàæåíèå</code><code>;</code>
</blockquote>
<p class="pabcmain">Èìåíà â ñïèñêå ïåðå÷èñëÿþòñÿ ÷åðåç çàïÿòóþ. Íàïðèìåð:</p>
<blockquote>
<p><code><b>var<br>
&nbsp; </b>a,b,c: integer;<br>
&nbsp; d: real := 3.7;<br>
&nbsp; s := 'PascalABC forever';<br>
&nbsp; al := new List&lt;integer&gt;;</code><br>
<code>&nbsp; p1 := 1;</code></p>
</blockquote>
<p class="pabcmain"> ïîñëåäíèõ òðåõ ñëó÷àÿõ òèï ïåðåìåííîé àâòîìàòè÷åñêè îïðåäåëÿåòñÿ
ïî òèïó ïðàâîé ÷àñòè.</p>
<p>Ïåðåìåííûå ìîãóò îïèñûâàòüñÿ íåïîñðåäñòâåííî âíóòðè
<a href="../Operators/beginend.html">áëîêà</a>. Òàêèå îïèñàíèÿ íàçûâàþòñÿ
âíóòðèáëî÷íûìè è ïðåäñòàâëÿþò ñîáîé <a href="../Operators/var_statement.html">
îïåðàòîð îïèñàíèÿ ïåðåìåííîé</a>.</p>
<p>Êðîìå òîãî, ïåðåìåííûå-ïàðàìåòðû öèêëà ìîãóò îïèñûâàòüñÿ â çàãîëîâêå
îïåðàòîðîâ <code><b><a href="../Operators/for.html">for</a></b></code> è <code><b>
<a href="../Operators/foreach.html">foreach</a></b></code>.</p>
<p>Ãëîáàëüíûå ïåðåìåííûå èíèöèàëèçèðóþòñÿ íóëåâûìè çíà÷åíèÿìè. Äëÿ ëîêàëüíûõ
ïåðåìåííûõ ýòî íå ãàðàíòèðóåòñÿ - èõ íàäî èíèöèàëèçèðîâàòü ÿâíî. </p>
<h2>Ñîâìåùåíèå îïèñàíèÿ ïåðåìåííûõ è êîðòåæíîãî ïðèñâàèâàíèÿ</h2>
<p><a href="../Types/tuples.html">Êîðòåæíîå ïðèñâàèâàíèå</a> (ðàñïàêîâêó êîðòåæà
â ïåðåìåííûå) ìîæíî ñîâìåùàòü ñ îïèñàíèåì ïåðåìåííûõ:</p>
<blockquote>
<code>var t := (1,2);<br>(<strong>var </strong>a,<strong> var </strong>b) := (1,2);</code></blockquote>
<p>èëè</p>
<blockquote>
<code><strong>var</strong> (a,b) := (1,2);</code></blockquote>
<p>Ðàñïàêîâêà êîðòåæà â ïåðåìåííûå ÷àñòî èñïîëüçóåòñÿ ïðè âîçâðàùåíèè ôóíêöèåé
êîðòåæà:</p>
<blockquote>
<code><strong>function</strong> SP(a,b: real) := (a*b,2*(a+b)); </code>&nbsp;<br>
...<br>
<code><strong>var</strong> (S,P) := SP(2,3); </code>
</blockquote>
</body>
</html>