DataLife Engine > Delphi > Оператор перехода
Оператор перехода10 февраля 2008. Разместил: podpole |
И в Delphi и в Turbo Pascal’e есть этот оператор- оператор перехода. Кто-то его называет: «оператор прыжка». Довольно интересный оператор, с моей точки зрения. Он может помочь, а может и навредить. Некоторые люди им не советуют пользоваться, но иногда без него сложно. Оператор перехода имеет вид: Goto m; Где m-метка, которой помечена любая другая строчка в программе (не абсолютно любая конечно). Метка может обозначаться любой буквой, словом или числом (от 1 до 9999). Помечается оператор следующим образом: m: (оператор); //Не забывайте про двоеточие между меткой и оператором!!! Оператор перехода должен быть объявлен (там где объявляются переменные), перед использованием. Объявляется так: Program GT; //название программы может быть любым. Label Metka; //Непосредственно само объявление оператора перехода Begin //Начало кода Вся работа этого оператора сводится к тому, чтобы передать управление оператору, который помечен меткой. Дальнейший ход программы осуществляется как обычно. Рассмотрим небольшой пример: Program GT; //Название программы может быть любым. Label Metka; //Непосредственно само объявление оператора перехода Begin //Начало кода Goto Metka; //Использование оператора перехода Showmessage(‘HI’); //Это сообщение не будет отображаться Metka: Showmessage(‘Goto’); // «Меченный оператор exit; End; // Завершение программы Без использования оператора перехода, сообщение с текстом: “HI’ появилось бы. Но в этой программе оно не появится. Мы можем видеть нарушение в порядке выполнения кода. Но дальше выполнение программы идёт по обычному порядку. С помощью оператора перехода можно делать циклы: Program GT; //Название программы может быть любым. Label Metka; //Непосредственно само объявление оператора перехода Begin //Начало кода Metka: Showmessage(‘Goto’); Showmessage(‘HI’); Goto Metka; //Использование оператора перехода exit; // Завершение программы End; Эта программа при запуске зациклится (цикл будет бесконечным). Но зацикливания можно избежать, использовав условный оператор IF. В самом начале статьи говорится, что это оператор может нанести вред. Это действительно так: из-за использования большого числа меток, код становится менее понятным, значит могут быть ошибки в коде. Всего надо в меру!!! На этом всё |