Программирование на языке Pascal

       

Метки и безусловный переход


Метка помечает какое-либо место в тексте программы. Метками могут быть числа от 0 до 9999 или идентификаторы, которые в этом случае уже нельзя использовать для каких-либо иных нужд. Все метки должны быть описаны в специальном разделе label:

label <список_всех_меток_через_запятую>;

Меткой может быть помечен любой оператор программы

<метка>: <оператор>;

Любая метка может встретиться в тексте программы только один раз. Используются метки только операторами безусловного перехода goto:

goto <метка>;

Это означает, что сразу после оператора goto будет выполнен не следующий за ним оператор (как это происходит в обычном случае), а тот оператор, который помечен соответствующей меткой.

В принципе, передавать управление можно вперед и назад по тексту программы, внутрь составных операторов и наружу и т.п. Исключением являются только процедуры и функции (см. лекцию 8): внутрь них и наружу безусловные переходы невозможны.

Вообще же использование безусловных переходов в структурном и надежном программировании считается "дурным тоном". Поэтому мы настоятельно советуем нашим читателям воздерживаться от употребления операторов goto. Язык Pascal обладает достаточным количеством структурных конструкций и возможностей, позволяющих достичь хороших результатов надежными средствами.



Содержание раздела