Оператор goto Delphi

При использование инструкций if и case осуществляется переход к последовательности инструкций разрабатываемой программы, руководствуясь некоторым заранее известным  условием. Поэтому эти инструкции иногда носят название инструкций условного перехода.

Кроме данных инструкций управления процессом дальнейшего хода работы программы существует еще один оператор goto Delphi (инструкция безусловного перехода). Как выглядит оператор goto Delphi? Общий вид инструкции goto Delphi представляется так:

goto Метка

откуда Метка означает некий идентификатор, располагающийся перед инструкцией, которая выполняется в обязательном порядке после самой инструкции goto. Метку, встречающуюся в инструкции goto, необходимо объявить в разделе описания меток (этот раздел начинается зарезервированным словом label и находится перед разделом описания переменных var).

В исходном коде программы программист ставит метку перед той инструкцией, к которой собственно и будет впоследствии выполняться переход при исполнении инструкции goto. Сразу после введенной метки нужно поставить двоеточие.

Примеры оператора goto Delphi:

В качестве примера приведем уже известную программу определения простого числа среди вводимых пользователем чисел.

procedure TForm1.Button1Click(Sender: TObject);
label // раздел объявления меток
bye: var n: integer; // проверяемое число
d: integer; // делитель
r: integer; // остаток от деления n на d
begin
n:=StrToInt(Edit1.text);
if n <= 0 then
begin
MessageDlg('Число должно быть больше нуля.', mtError, [mbOk] , 0);
Edit1.text:= '';
goto bye;
end; // введено положительное число
d:= 2; // сначала будем делить на два
repeat
r:= n mod d;
if r 0 // n не разделилось нацело на d
then
d:= d + 1;
until r = 0;
label2.caption:=Edit1.text;
if d = n
then
label2.caption:=label2.caption + ' — простое число.'
else
label2.caption:=label2.caption + ' — обычное число.';
bye: end;

В приведенном в листинге исходном коде программы представлен вариант процедуры. Инструкция goto применяется для того, чтобы завершить процедуру тогда, когда пользователем были введены неверные данные.

В некоторых книгах по программированию Вы можете встретить суждения о том, что недопустимо применять инструкцию goto, так как это использование может привести к запутанности создаваемых программ. Но согласится с этим утверждением объективно нельзя.

Бывают случаи, когда использование инструкции goto просто необходимо и оправдано. Представленный выше пример программы с применением инструкции goto — и есть тот случай. 

Рейтинг
( Пока оценок нет )
Загрузка ...