2018-08-02 22:04:49 +03:00
|
|
|
|
<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>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<H1>Структура программы: обзор</H1>
|
|
|
|
|
|
<p class="pabcmain">Программа содержит <a href="identifiers.html">ключевые слова</a>,
|
|
|
|
|
|
<a href="identifiers.html">идентификаторы</a>, <a href="comments.html">комментарии</a>.
|
|
|
|
|
|
Ключевые слова используются для выделения синтаксических конструкций и
|
|
|
|
|
|
подсвечиваются жирным шрифтом в редакторе. Идентификаторы являются именами
|
|
|
|
|
|
объектов программы и не могут совпадать с ключевыми словами. </p>
|
|
|
|
|
|
<p class="pabcmain"> Программа на языке <b>PascalABC.NET</b> имеет следующий вид:</p>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<blockquote>
|
|
|
|
|
|
<p><code><b>program</b>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<code class="codeit">имя программы</code>;<br><code class="codeit">раздел </code></code>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<b><code>uses</code></b><code><br>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<code class="codeit">раздел описаний</code><br><b>begin</b><br>
|
|
|
|
|
|
<code class="codeit">операторы</code><br><b>end</b>.</code> </p>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
</blockquote>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<p>Первая строка называется <i><b><font color="#FF0000">заголовком программы</font></b></i> и не является
|
|
|
|
|
|
обязательной. В <strong>PascalABC.NET</strong> использование заголовка программы
|
|
|
|
|
|
считается устаревшим.</p>
|
|
|
|
|
|
<p><a href="../Modules/uses.html">Раздел
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<code>
|
|
|
|
|
|
<b>uses</b></code></a>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
состоит из нескольких подряд идущих секций <span class="auto-style1"> <strong>
|
|
|
|
|
|
uses</strong></span>, каждая из которых
|
|
|
|
|
|
начинается с ключевого слова
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<b><code>uses</code></b>,
|
2025-11-07 16:12:31 +03:00
|
|
|
|
за которым следует список имен модулей и пространств имен .NET, перечисляемых через запятую.</p>
|
|
|
|
|
|
<p>Раздел описаний может включать следующие подразделы:</p>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<ul>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<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>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
</ul>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<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>, отделяемые один от другого символом "точка
|
|
|
|
|
|
с запятой". Среди операторов может присутствовать
|
|
|
|
|
|
<a href="../Operators/var_statement.html">оператор описания
|
|
|
|
|
|
переменной</a>, который позволяет описывать переменные внутри блока.</p>
|
|
|
|
|
|
<p>Раздел
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<b><code>uses</code></b><code><code class="codeit"><span style="font-style: normal">
|
2025-11-07 16:12:31 +03:00
|
|
|
|
</span></code></code>и раздел описаний
|
|
|
|
|
|
могут отсутствовать.</p>
|
|
|
|
|
|
<p>Например:</p>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<blockquote>
|
|
|
|
|
|
<code><b>program</b> MyProgram;<br>
|
|
|
|
|
|
<b>var</b> <br>
|
|
|
|
|
|
a,b: integer;<br>
|
|
|
|
|
|
<b>begin<br>
|
2025-11-11 22:04:03 +03:00
|
|
|
|
</b> (a,b) := ReadInteger2;<br>
|
|
|
|
|
|
<strong> var </strong>x := a/b;<br>
|
|
|
|
|
|
Println(x);<br>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<b>end</b>.</code></blockquote>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<p>или</p>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<blockquote>
|
|
|
|
|
|
<code><b>uses</b> GraphABC;<br>
|
|
|
|
|
|
<b>begin<br>
|
|
|
|
|
|
</b> <strong>var</strong> x := 100;<br> <strong>var</strong> y :=
|
|
|
|
|
|
100;<br> <strong>var</strong> r := 50;<br> Circle(x,y,r);<br>
|
|
|
|
|
|
<b>end</b>.</code></blockquote>
|
2025-11-11 22:04:03 +03:00
|
|
|
|
<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> x := 100;<br> Draw;<br>
|
|
|
|
|
|
<b>end</b>.</code></blockquote>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<p>Кроме того, имеется возможность записывать программы без внешнего begin-end.
|
|
|
|
|
|
Для этого в начале программы используется префикc ##:</p>
|
2021-12-11 23:51:50 +03:00
|
|
|
|
<blockquote>
|
|
|
|
|
|
<code>##<b><br>
|
|
|
|
|
|
</b><strong>var</strong> a := ArrRandomInteger(10);<br>a.Println;</code></blockquote>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<p>Такой режим называется командным и предназначен для написания коротких
|
|
|
|
|
|
программ из нескольких команд. В данном режиме разрешено использовать одну
|
|
|
|
|
|
секцию uses и описывать процедуры и функции:</p>
|
2021-12-11 23:51:50 +03:00
|
|
|
|
<blockquote>
|
|
|
|
|
|
<code>
|
2025-11-11 22:04:03 +03:00
|
|
|
|
<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>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
</body>
|
|
|
|
|
|
|
|
|
|
|
|
</html>
|