Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел 6 Структура программы.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
296.45 Кб
Скачать

6.2. Раздел меток

Метка – это идентификатор или целочисленная константа в диапазоне 0 ÷ 232 - 1, стоящая перед оператором и отделенная от него двоеточием. Метка служит для выделения оператора и играет роль имени данного оператора. Оператор с меткой называется помеченным.

Метки используются, чтобы перейти к выполнению определенного оператора, нарушая естественный последовательный порядок выполнения операторов.

Все метки операторов должны быть различными.

Передача управления оператору, помеченному меткой, осуществляется с помощью управляющего оператора Goto.

Пример 6.1.

Пример фрагмента программы:

M1: X := X + Y;

...

5: Z := sin(X);

...

Goto M1;

...

Goto 5;

...

Все метки, используемые в разделе операторов модуля, должны быть обязательно предварительно описаны в разделе меток.

Данный раздел начинается служебным словом Label и имеет вид, который представляет рисунок 6.5.

Рисунок 6.5 – Синтаксическая диаграмма раздела меток

Например, для примера 6.1:

Label M1, 5;

Раздел закрывается точкой с запятой (;).

Раздел может быть пустым (может отсутствовать), только если в модуле нет меток.

Метки в разделе меток могут быть перечислены в произвольном порядке.

Например, для примера 6.1:

Label 5, M1;

6.3. Раздел констант

Если в программе некоторые константы используются многократно, то удобно присвоить им имя.

Например,

e := 2.71;

Такое присвоение удобно сделать один раз и далее в программе обращаться к константе уже по имени.

Присвоение константе имени выполняется в разделе описания констант. Раздел начинается служебным словом Const и имеет формат, который иллюстрирует рисунок 6.6.

Рисунок 6.6 – Синтаксическая диаграмма раздела констант

Таким образом, в разделе констант могут быть объявлены обычные (нетипизованные, нетипизированные) константы и типизованные (типизированные) константы.

Формат описания нетипизованной константы представляет рисунок 6.7.

Описание константы вводит идентификатор (<Ид.> на синтаксической диаграмме), под которым подразумевается некоторое константное выражение. Тип константы определяется типом данного выражения.

Рисунок 6.7 – Синтаксическая диаграмма описания нетипизованной константы

Константное выражение – это выражение, вычисляемое на этапе компиляции. Константное выражение не может содержать имен переменных и типизированных констант, оператора получения адреса @ или включать обращение к определенным пользователем функциям. В константных выражениях допустимо обращение к следующим стандартным функциям: Abs, Chr, Hi, Lo, Length, Odd, Ord, Pred, Ptr, Round, Sizeof, Succ, Swap, Trunc.

В константных выражениях могут быть использованы только имена нетипизованных констант.

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

Таким образом, раздел констант может быть пустым (отсутствовать).

Пример 6.2.

Объявление нетипизованных констант.

Const

E = 2.7115;

I = 10000;

Eps1 = 0.0001;

Eps2 = Eps1 / 100.0;

Pi1 = -2 * Pi;

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

Различают скалярные и структурные типизованные константы.

Синтаксис объявления типизованных констант представляет рисунок 6.8.

На данном рисунке <Ид.> - идентификатор типизованной константы. <Константа> представляет собой скалярную типизованную константу. Остальные виды констант – это структурные типизованные константы. Структурные типизованные константы будут детально представлены в подразделах, описывающих соответствующие типы данных.

Рисунок 6.8 – Синтаксическая диаграмма описания типизованных констант

Типизованные константы инициализируются каждый раз перед выполнением подпрограммы. При каждом новом входе в подпрограмму типизованные константы заново инициализируются.

Типизованные константы из всех подпрограмм располагаются в сегменте данных. Поэтому их общий объем ограничен 64К байтами.

Пример 6.3.

Объявление скалярных типизованных констант.

Const

MaxI: Integer = 10000;

MinI: Integer = 0;

Eps: Real = 0.0001;

Pi2: Real = 4 * Pi;

Типизованные константы не могут использоваться в объявлении других констант или типов.