На этом шаге мы рассмотрим оператор перехода и правила его использования.
Оператор перехода состоит из ключевого слова goto, после которого указывается метка. Описание меток рассмотрено в шагах 5 и 11.
Выполнение оператора goto приводит к передаче управления на оператор, перед которым стоит указанная в операторе goto метка.
Обязательным является требование, чтобы метка, указанная в операторе перехода, располагалась в том же блоке или модуле, что и сам оператор goto. Это означает, что посредством оператора перехода запрещена передача управления внутрь процедуры (функции), а также передача управления из процедуры (функции) в окружающую ее среду.
Следует заметить, что оператор goto противоречит принципам структурного программирования, и его использование в программах не рекомендуется. Особенно опасным является применение оператора перехода в Object Pascal, в котором значительно ослаблены, по сравнению со стандартом языка Pascal, ограничения на использование goto. В частности компилятор не выдает сообщения об ошибке при передаче управления внутрь структурных операторов (например, оператора for), что зачастую приводит к непредсказуемым действиям программы.
Учитывая сказанное, можно порекомендовать вообще исключить использование оператора перехода при написании программ. Тем более, что в Object Pascal включены предопределенные управляющие процедуры Break и Continue, которые специально предназначены для ситуаций, в которых наиболее часто используется оператор goto.
На следующем шаге мы рассмотрим составной оператор.