71 lines
3.2 KiB
HTML
71 lines
3.2 KiB
HTML
<html>
|
||
|
||
<head>
|
||
<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
||
<param name="Keyword" value="break">
|
||
<param name="Keyword" value="continue">
|
||
<param name="Keyword" value="exit">
|
||
</object>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
|
||
<title></title>
|
||
<link rel="StyleSheet" href="../../default.css">
|
||
</head>
|
||
|
||
<body>
|
||
<H1>Операторы break, continue и
|
||
exit</H1>
|
||
<p>Операторы <b><code>break</code></b> и <code><b>continue</b></code>
|
||
используются только внутри циклов.</p>
|
||
<p>Оператор <b><code>break</code></b> предназначен для досрочного завершения
|
||
цикла. При его выполнении происходит немедленный выход из текущего цикла и
|
||
переход к выполнению оператора, следующего за циклом. Оператор <code><b>continue</b></code> завершает текущую итерацию цикла,
|
||
осуществляя переход к концу тела цикла. Например:</p>
|
||
<blockquote>
|
||
<p><code>flag := False;<br>
|
||
<b>for</b> <b>var</b> i:=1 <b>to</b> 10 <b>do</b><br>
|
||
<b>begin</b><br>
|
||
<strong>var</strong> x := ReadInteger;<br>
|
||
<b>if</b> x<0 <b>then</b> <b>continue</b>; //
|
||
пропуск текущей итерации цикла<br>
|
||
<b>if</b> x=5 <b>then</b><br>
|
||
<b>begin</b><br>
|
||
flag := True;<br>
|
||
<b>break</b>; // выход из цикла<br>
|
||
<b>end</b>; <br>
|
||
<b>end</b>;</code></p>
|
||
</blockquote>
|
||
<p>Использование операторов <code><b>break</b></code> и <code><b>continue</b></code>
|
||
вне тела цикла ошибочно.</p>
|
||
<p>Оператор <code><b>exit</b></code> предназначен для досрочного завершения
|
||
процедуры или функции. Например</p>
|
||
<blockquote>
|
||
<p><code><b>function</b> Analyze(x: integer): boolean;<br>
|
||
<b>begin</b><br>
|
||
<b>if</b> x<0 <b>then</b> <br>
|
||
<b>begin</b><br>
|
||
Result := False;<br>
|
||
<b>exit</b><br>
|
||
<b>end</b>;<br>
|
||
...<br>
|
||
<b>end</b>;</code></p>
|
||
</blockquote>
|
||
<p>Вызов <code><b>exit</b></code> в разделе операторов
|
||
основной программы приводит к ее немедленному завершению.</p>
|
||
<p>Оператор <code><b>exit</b></code> внутри функции может быть вызван с
|
||
параметром для немедленного возврата значения из функции:</p>
|
||
<blockquote>
|
||
<p><code><b>function</b> Analyze(x: integer): boolean;<br>
|
||
<b>begin</b><br>
|
||
<b>if</b> x<0 <b>then</b> <br>
|
||
<b>exit</b>(False)<br>
|
||
...<br>
|
||
<b>end</b>;</code></p>
|
||
</blockquote>
|
||
|
||
<p>Более точно, <code><b>break</b></code>, <code><b>continue</b></code>
|
||
и <code><b>exit</b></code> в <b>
|
||
PascalABC.NET</b> являются операторами вызова специальных внутренних процедур.</p>
|
||
</body>
|
||
|
||
</html>
|