Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Чернов Шафеева.doc
Скачиваний:
47
Добавлен:
21.05.2015
Размер:
1.39 Mб
Скачать

2.3.2. Оператор безусловного перехода

Оператор безусловного перехода позволяет изменить обычный после­довательный порядок выполнения операторов и перейти к заданному опера­тору, помеченному меткой.

Структура оператора:

GOTO <метка>;

GOTO  ключевое слово, обозначающее перейти к <метке>.

<Метка>  произвольный идентификатор, позволяющий пометить любой оператор в программе и ссылаться на него. Оператор от метки отделяется двоеточием. В языке Турбо Паскаль допускается использовать в качестве метки также целое число без знака от 0 до 9999.

Пример

LABEL m1,loop;

VAR a, b, c, d: word;

BEGIN

m1: a:=b+c*d;

...

goto m1;

loop: END.

Таблица 1

Стандартные функции

Обращение

Выполняемые функции

Тип

аргумента | функции

ABS(X)

SQR(X)

 Х

X2

целый или

вещественный

целый или

вещественный

SIN(X) Sin X

COS(X) Cos X

LN(X)

EXP(X)

SQRT(X)

ARCTAN(X)

sin x

cos x

ln x

eX

arctan x

целый

или вещественный

вещественный

вещественный

TRUNC(X)

ROUND(X)

Выделение целой час­ти числа

Округление Х до бли­жайшего целого

вещественный

целый

PRED(X)

SUCC(X)

Нахождение предшествующего значения (в его типе)

Нахождение последующего элемента (значе­ния, следующего за Х в его порядковом типе)

целый,

логический

или

символьный

целый,

логический

или

символьный

ORD(X)

Определение порядко­вого номера символа Х в наборе символов или его перечислимом типе

символьный

целый

CHR(X)

Определение значения символа по его порядковому номеру

целый

символьный

ODD(X)

Логическая функция проверки нечетности

целый

логический

Frac(X)

Int(X)

Дробная часть числа Целая часть числа

вещественный

вещественный

Все использованные в программе метки должны быть описаны в разде­ле описаний программы с указанием ключевого слова “LABEL”. Описанные в этом операторе метки обязательно должны быть использованы в программе.

Метки, описанные в функции или процедуре, локализуются только в ней, передача управления извне процедуры на метку внутри ее невозмож­на. С помощью оператора GOTO не рекомендуется осуществлять переход во внутреннюю часть сложного оператора (цикла, составного оператора). Запрещается переход с одной альтернативной части (ветви) сложного опе­ратора на другую.

Современная технология структурного программирования основана на принципе программирования без GOTO. Считается, что злоупотребление этими операторами затрудняет чтение программы, усложняет ее отладку.

Тем не менее, в некоторых случаях использование оператора перехода мо­жет упростить программу. Обычно GOTO используется для досрочного выхо­да из любого сложного оператора или вложенных операторов цикла.