Раздел: Стандартные функции Паскаля
Процедура 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, а ваша собственная процедура, объявленная в начале программы, которая не выполняет выход из цикла.
Вступить в группу "Основы программирования"
Подписаться на канал в РУТУБ Подписаться на Дзен-канал Подписаться на рассылки по программированию |
Как стать программистом 2.0
Эта книга для тех, кто хочет стать программистом. На самом деле хочет, а не просто мечтает. И хочет именно стать программистом с большой буквы, а не просто научиться кулебякать какие-то примитивные программки… Подробнее... |
Помощь в технических вопросах
Помощь студентам. Курсовые, дипломы, чертежи (КОМПАС), задачи по программированию: Pascal/Delphi/Lazarus; С/С++; Ассемблер; языки программирования ПЛК; JavaScript; VBScript; Fortran; Python и др. Разработка (доработка) ПО ПЛК (предпочтение - ОВЕН, CoDeSys 2 и 3), а также программирование панелей оператора, программируемых реле и других приборов систем автоматизации. Подробнее... |