12.04.2018
Новая задача Является ли число числом Фибоначчи.
09.04.2018
Новые видео и статья Процедура Assign.
03.04.2018
Журнал Автоматизация и Программирование: Свежий номер.
28.03.2018
Новая задача Вывести на экран все натуральные числа А, В, С.
24.03.2018
Новые видео и статья Директива define.
Раздел: Стандартные функции Паскаля
Процедура Break
|
|
Процедура Break в Паскале выполняет прерывание цикла. Синтаксис:
procedure Break;
Процедура Break выполняет переход к оператору, следующему после текущего блока цикла.
Код после вызова Break и окончанием блока цикла не выполняется. Состояние текущего цикла при этом прекращает отслеживаться.
Процедура Break может использоваться с циклами FOR и WHILE.
Учтите, что Break - это зарезервированное слово и оно не может быть переопределено.
Как прервать цикл в Паскале
Пример программы, которая использует процедуру Break для прерывания цикла, приведён ниже:
program breakproc; {$mode objfpc}{$H+} var i, j : byte; //**************************************************************** // Так делать нельзя, потому что тогда прерывание цикла // с помощью Break не будет работать //**************************************************************** {procedure Break; begin end;} begin //Будут выведены 4 числа от 1 до 4 for i := 1 to 10 do begin Write(i:3); if i = 4 then Break; end; WriteLn; //Будут выведены 3 числа от 1 до 3 for i := 1 to 10 do begin if i = 4 then Break; Write(i:3); //!!! Этот код после вызова Break //уже не будет выполнен !!! end; WriteLn; //Прерывание вложенного цикла for j := 11 to 15 do //Цикл 1 begin for i := 1 to 10 do //Вложенный цикл 2 begin if i = 3 then Break; //Прерывает вложенный цикл 2, Write(i:3); //но цикл 1 будет выполнен до конца !!! end; Write(j:3); end; WriteLn; //Прерывание основного цикла for j := 11 to 15 do //Цикл 1 begin for i := 1 to 10 do //Вложенный цикл 2 begin if i = 3 then Break; //Прерывает вложенный цикл 2 Write(i:3); end; if j = 13 then Break; //Прерывает цикл 1 Write(j:3); end; ReadLn; end.
Обратите внимание на то, что код в теле цикла, расположенный после вызова Break, уже не будет выполняться (так как цикл прерывается в том месте, где вызывается процедура Break).
Также обратите внимание на то, как работает прерывание вложенного цикла: прерывается только вложенный цикл, а основной продолжает работать.
Также обратите внимание на нашу собственную процедуру Break в начале программы. Она закомментирована и не компилируется.
Однако, если вы её раскомментируете, то процедура Break будет переопределена. Ошибки компиляции это не вызовет - программа будет создана.
Но стандартная процедура Break не будет работать!!! То есть выйти из цикла с помощью процедуры Break вы не сможете, потому что вызываться будет уже не стандартная процедура из модуля SYSTEM, а ваша собственная процедура, объявленная в начале программы, которая не выполняет выход из цикла.
Подписаться на канал в YouTube
Вступить в группу "Основы программирования" Подписаться на рассылки по программированию |
![]() |
Как стать программистом 2.0
Эта книга для тех, кто хочет стать программистом. На самом деле хочет, а не просто мечтает. И хочет именно стать программистом с большой буквы, а не просто научиться кулебякать какие-то примитивные программки… Подробнее... |