pascalabcnet/PABCNetHelp/LangGuide/_ProgrStruct_Defs/index_progrstruct.html
Mikhalkovich Stanislav 7aed6ed062 Print($'{Arr(1,2,3)}')
теперь печатает содержимое массива
2025-11-11 22:04:03 +03:00

110 lines
6.2 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<html>
<head>
<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
<param name="Keyword" value="program">
<param name="Keyword" value="uses">
</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 {
font-family: monospace;
font-size: 10pt;
color: #000080;
}
</style>
</head>
<body>
<H1>Структура программы: обзор</H1>
<p class="pabcmain">Программа содержит <a href="identifiers.html">ключевые слова</a>,
<a href="identifiers.html">идентификаторы</a>, <a href="comments.html">комментарии</a>.
Ключевые слова используются для выделения синтаксических конструкций и
подсвечиваются жирным шрифтом в редакторе. Идентификаторы являются именами
объектов программы и не могут совпадать с ключевыми словами. </p>
<p class="pabcmain">&nbsp;Программа на языке <b>PascalABC.NET</b> имеет следующий вид:</p>
<blockquote>
<p><code><b>program</b>
<code class="codeit">имя программы</code>;<br><code class="codeit">раздел </code></code>
<b><code>uses</code></b><code><br>
<code class="codeit">раздел описаний</code><br><b>begin</b><br>&nbsp;
<code class="codeit">операторы</code><br><b>end</b>.</code> </p>
</blockquote>
<p>Первая строка называется <i><b><font color="#FF0000">заголовком программы</font></b></i> и не является
обязательной. В <strong>PascalABC.NET</strong> использование заголовка программы
считается устаревшим.</p>
<p><a href="../Modules/uses.html">Раздел
<code>
<b>uses</b></code></a>
состоит из нескольких подряд идущих секций <span class="auto-style1"> <strong>
uses</strong></span>, каждая из которых
начинается с ключевого слова
<b><code>uses</code></b>,
за которым следует список имен модулей и пространств имен .NET, перечисляемых через запятую.</p>
<p>Раздел описаний может включать следующие подразделы:</p>
<ul>
<li><a href="vardef.html">раздел описания переменных</a> </li>
<li><a href="constdef.html">раздел описания констант</a></li>
<li><a href="typesdef.html">раздел описания типов</a></li>
<li><a href="labeldef.html">раздел описания меток</a></li>
<li><a href="../ProcFunc/procdef.html">раздел
описания процедур и функций</a></li>
</ul>
<p>Данные подразделы следуют друг
за другом в произвольном порядке.</p>
<p>Далее следует <a href="../Operators/beginend.html">блок</a> <b><code>begin</code></b>/<b><code>end</code></b>,
внутри которого находятся <a href="../Operators/index_statements.html">операторы</a>, отделяемые один от другого символом &quot;точка
с запятой&quot;. Среди операторов может присутствовать
<a href="../Operators/var_statement.html">оператор описания
переменной</a>, который позволяет описывать переменные внутри блока.</p>
<p>Раздел
<b><code>uses</code></b><code><code class="codeit"><span style="font-style: normal">
</span></code></code>и раздел описаний
могут отсутствовать.</p>
<p>Например:</p>
<blockquote>
<code><b>program</b> MyProgram;<br>
<b>var</b> <br>
&nbsp; a,b: integer;<br>
<b>begin<br>
</b>&nbsp; (a,b) := ReadInteger2;<br>
<strong>&nbsp; var </strong>x := a/b;<br>
&nbsp; Println(x);<br>
<b>end</b>.</code></blockquote>
<p>или</p>
<blockquote>
<code><b>uses</b> GraphABC;<br>
<b>begin<br>
</b>&nbsp; <strong>var</strong> x := 100;<br>&nbsp; <strong>var</strong> y :=
100;<br>&nbsp; <strong>var</strong> r := 50;<br>&nbsp; Circle(x,y,r);<br>
<b>end</b>.</code></blockquote>
<p>Глобальные описания переменных до begin основной программы в основном
используются редко и считаются устаревшим стилем. Глобальные описания переменных
могут использоваться в учебных программах, в которых несколько процедур
используют эти переменные:</p>
<blockquote>
<code><b>uses</b> GraphWPF;<br><br><strong>var</strong> x: integer;<br><br>
<strong>procedure</strong> Draw := Circle(x,300,5);<br><br>
<b>begin<br>
</b>&nbsp; x := 100;<br>&nbsp; Draw;<br>
<b>end</b>.</code></blockquote>
<p>Кроме того, имеется возможность записывать программы без внешнего begin-end.
Для этого в начале программы используется префикc ##:</p>
<blockquote>
<code>##<b><br>
</b><strong>var</strong> a := ArrRandomInteger(10);<br>a.Println;</code></blockquote>
<p>Такой режим называется командным и предназначен для написания коротких
программ из нескольких команд. В данном режиме разрешено использовать одну
секцию uses и описывать процедуры и функции:</p>
<blockquote>
<code>
<span class="p">##<br>
<strong>uses</strong> GraphWPF;</span><br>
<span class="k"><strong>function</strong></span> <span class="n">Draw</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">:</span> real<span class="p">)</span> <span class="p">:=</span> Circle(x,y,5)<span class="p">;</span><br>
<span class="p">Draw(100,100);</span></code></blockquote>
</body>
</html>