Pascal. Оператор перехода Goto, метки.

В предыдущей статье упоминалось о операторе Goto, теперь пришло время разобраться и с ним, хотя он и используется довольно редко. Итак, Goto в переводе с английского означает «иди к …»


В Паскале он используется, когда присутствуют метки, о которых было рассказано в статье «Структура программы, первая программа». Вот синтаксис этого оператора. Сначала в разделе Label объявляется метка.

В основной части программы описывается сама метка (действия, которые нужно повторить). Это делается так

<Имя метки>:<Повторяющиеся действия>; если действий нужно повторять несколько, то пишем Begin…End; И в любом месте программы мы можем написать строку «goto <имя нашей метки>;» Вот простейший пример программы.

Итак, в разделе Label мы объявили метку m1, описали ее, это строка «m1: Write (‘Привет ‘);» Написав далее «goto m1;» мы заставляем компилятор зацикливаться и бесконечно писать «Привет «. Вот именно из-за подобных зацикливаний и вообще принципа работы этого оператора программисты практически не используют «goto». Ну раз это оператор цикла, давайте напишем программу, выводящую числа от 1 до 10.

Теперь напишем небольшой диалог с пользователем. Попросим его ввести свое имя, проверим, верно ли оно написано, спросим, сколько ему лет, также проверим, что он ввел и выведем последнюю реплику. Причем, если данные пользователь вводит неверно, с помощью меток мы будем заставлять его вводить заново. Вот код такой программы.

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

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


Похожие записи:

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля отмечены *