Управляющие структуры

Метки и операторы перехода


Можно теоретически показать, что рассмотренных операторов вполне достаточно для написания программ любой сложности. В этом отношении наличие в языке операторов перехода кажется излишним. Более того, современная технология структурного программирования основана на принципе «программировать без GOTO»: считается, что злоупотребление операторами перехода затрудняет понимание программы, делает ее запутанной и сложной в отладке.
Тем не менее, в некоторых случаях использование операторов перехода может упростить программу.

Оператор перехода имеет вид:

Goto <метка>;

Goto – зарезервированное слово (перейти [на метку]);
<метка> - метка;

Метка в Турбо Паскале это произвольный идентификатор, позволяющий именовать некоторый оператор программы и таким образом ссылаться на него. Допускается в качестве меток использование целых чисел без знака.
Метка располагается непосредственно перед помечаемым оператором и отделяется от него двоеточием. Оператор можно помечать несколькими метками, которые в этом случае отделяются друг от друга двоеточием. Метки должны быть описаны в разделе описания меток.

Пример 8. Если значение переменной x меньше 0, то вывести на экран , иначе вывести на экран –х.
Program ex_8;
Uses crt;
Label lb1,lb2, end1;
Var
Begin Clrscr;
        Writeln(‘Введите x: ’);
        Readln(x);
        If x < 0 then goto lb1 else goto lb2;
    Lb1: Writeln(x*x);
        Goto end1;
    Lb2: Writeln(-x);
    End1: Readkey;
End.

Действие оператора Goto состоит в передаче управления соответствующему меченому оператору. При использовании меток необходимо руководствоваться следующими правилами:



Назад

Далее