Управляющие структуры
Метки и операторы перехода
Можно теоретически показать, что рассмотренных операторов вполне достаточно для написания программ любой сложности. В этом отношении наличие в языке операторов перехода кажется излишним. Более того, современная технология структурного программирования основана на принципе «программировать без 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 состоит в передаче управления соответствующему меченому оператору. При использовании меток необходимо руководствоваться следующими правилами:
- Метка на которую ссылается оператор Goto должна быть описана в разделе описаний и она обязательно должна встретиться где-нибудь в теле программы;
- Метки, описанные в процедуре (функции), локализуются в ней, поэтому передача управления извне процедуры (функции) на метку внутри ее невозможна.
Назад
Далее