Прерывание циклов в Паскаль

Очень часто требуется прервать цикл в Паскаль. Для этого используются оператор  break, процедуры continue, exit и abort. Можно обойтись простым решением – ввод флага окончания.

При выполнении всех условий окончания этой переменной присваивается некоторое условное значение. Тогда условие в циклах сводится к проверке, не равно ли значение этого флага принятому условному значению. Но для более правильного прерывания лучше всего использовать прерывания циклов. Еще один способ решения задачи – использовать оператор goto, который передает управление какому-то оператору вне тела цикла.

Для прерывания циклов в процедурах и функциях можно воспользоваться процедурой Exit. Она отличается от break тем, что прервет не только выполнение цикла, но выполнение самой процедуры или функции.

Молчаливая функция Abort прерывает только цикл, и управление передается следующему после него оператору.

Описанные выше способы прерывают цикл. Существует также процедура Continue, которая прерывает только выполнение текущей итерации, текущего выполнения цикла и передает управление на следующую итерацию.

Пример 1:

[code]
Program MY;
var i:Integer;
Begin

for i:=1 to 10 do

begin

WriteLn(‘test_1’);

if (i=4) then break;

end;

WriteLn(‘test_2’);

End.
[/code]

Пример 2:

[code]
Program MY;
var i:Integer;

Begin

for i:=1 to 10 do

begin

WriteLn(‘test_1’);

if (i=4) then Exit;

end;

WriteLn(‘test_2’);

End.
[/code]

Пример 3:

[code]
Program MY;
var i:Integer;
label metka;

Begin

for i:=1 to 10 do

begin

WriteLn(‘test_1’);

if (i=4) then goto metka;

end;

metka:  WriteLn(‘test_2’);

End.
[/code]

1 Star2 Stars3 Stars4 Stars5 Stars (нет рейтинга)
Вы можете пропустить чтение записи и оставить комментарий. Размещение ссылок запрещено.
Оставить комментарий