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="begin">
|
|
|
|
|
|
<param name="Keyword" value="end">
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<param name="Keyword" value="Составной оператор">
|
|
|
|
|
|
<param name="Keyword" value="Блок">
|
|
|
|
|
|
<param name="Keyword" value="Операторные скобки">
|
2018-08-02 22:04:49 +03:00
|
|
|
|
</object>
|
|
|
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
|
|
|
|
|
|
<title></title>
|
|
|
|
|
|
<link rel="StyleSheet" href="../../default.css">
|
|
|
|
|
|
</head>
|
|
|
|
|
|
|
|
|
|
|
|
<body>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<H1>Составной оператор (блок)</H1>
|
|
|
|
|
|
Составной оператор предназначен для объединения нескольких
|
|
|
|
|
|
операторов в один. Он имеет вид:<blockquote>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<p><b><code>begin<br>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
</code></b> <code class="codeit">операторы</code><b><code><br>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
end </code></b> </p>
|
|
|
|
|
|
</blockquote>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
В <b>PascalABC.NET</b> составной оператор также
|
|
|
|
|
|
называется <i><b><font color="#FF0000">блоком</font></b></i>. (традиционно в
|
|
|
|
|
|
Паскале блоком называется раздел описаний, после которого идет составной
|
|
|
|
|
|
оператор; в <b>PascalABC.NET</b>
|
|
|
|
|
|
принято другое решение, поскольку можно описывать переменные
|
|
|
|
|
|
непосредственно внутри составного оператора).<p>Операторы отделяются один от другого символом "<code>;</code>".
|
|
|
|
|
|
Ключевые слова <b><code>begin</code></b> и <b>
|
|
|
|
|
|
<code>end</code></b>, окаймляющие операторы,
|
|
|
|
|
|
называются <i><b><font color="#FF0000">операторными скобками</font></b></i>.
|
2018-08-02 22:04:49 +03:00
|
|
|
|
</p>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<p>Например:</p>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<blockquote>
|
|
|
|
|
|
<p><code>s := 0; <br>p := 1;<br>
|
|
|
|
|
|
<b>for</b> <strong>var </strong>i:=1 <b>to</b> 10 <b>do</b><br>
|
|
|
|
|
|
<b>begin<br>
|
|
|
|
|
|
</b>p := p * i;<br>
|
|
|
|
|
|
s := s + p</code><b><code><br>
|
|
|
|
|
|
end </code></b> </p>
|
|
|
|
|
|
</blockquote>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<p>Перед <b><code>end</code></b> также может ставиться "<code>;</code>".
|
|
|
|
|
|
В этом случае считается, что последним оператором перед <b><code>end</code></b>
|
|
|
|
|
|
является <a href="emptyop.html">пустой оператор</a>, не выполняющий никаких действий.</p>
|
|
|
|
|
|
<p>Помимо операторов, в блоке могут быть <a href="../_ProgrStruct_Defs/vardef.html#intblockvars">внутриблочные описания
|
|
|
|
|
|
переменных</a>:</p>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<blockquote>
|
|
|
|
|
|
<code><b>begin<br>
|
|
|
|
|
|
</b>
|
|
|
|
|
|
<b> var</b> a,b: integer;<br>
|
2025-11-11 22:04:03 +03:00
|
|
|
|
(a,b) := ReadInteger2;<br>
|
|
|
|
|
|
<strong>var </strong>x: real := a/b;<br>
|
|
|
|
|
|
Println(x);<br>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<b>end.</b></code></blockquote>
|
|
|
|
|
|
</body>
|
|
|
|
|
|
|
|
|
|
|
|
</html>
|