Руководство по языку B.Pascal 7

       

Константы


Константа - это идентификатор, отмечающий значение, которое не может изменяться. Идентификатор константы не может быть вклю- чен в свое собственное описание.

описание константы ¦ -------------- ---- ---------- ---- L----->¦идентификатор+--->¦ = +-->¦константа+--->¦ ; +-T--> ^ L-------------- L---- L---------- L---- ¦ ¦ ¦ L-----------------------------------------------------

Идентификатор константы с предшествующим ему знаком обозна- чает значение целого или вещественного типа.

Являясь расширением стандартного Паскаля, Borland Pascal позволяет использовать выражения-константы. Выражение-константа представляет собой выражение, которое может вычисляться компиля- тором без необходимости выполнения программы. Приведем примеры выражений-констант:

100 'A' 256 - 1 (2.5 + 1) / (2.5 - 1) 'Borland' + '' + 'Pascal' Chr(32) Ord('Z') - Ord('A') + 1

Простейший случай выражения-константы представляет собой простая константа, например 100 или 'A'. В стандартном Паскале допускается использовать только простые константы. В Borland Pascal разрешено использование выражений-констант.

---------- константа ---->¦выражение+---> L----------

Поскольку компилятор должен иметь возможность полностью вы- числить выражение-константу во время компиляции, в качестве выра- жений-констант не допускается использовать следующие конструкции:

- ссылки на переменные и типизированные константы (кроме констант в адресных выражениях, описываемых в Главе 5);

- вызовы функций (кроме тех, которые отмечены далее);

- оператор получения адреса @ (кроме констант в адресных вы- ражениях, описываемых в Главе 5).

За исключением этих ограничений для выражений-констант соб- людаются те же синтаксические правила, что и для обычных выраже- ний (описанных в Главе 6 "Выражения").

В выражениях-константах допускается использовать следующие стандартные функции:

Abs, Chr, Hi, High, Length, Lo, Low, Odd, Ord, Pred, Ptr, Round, SizeOf, Succ, Swap, Trunc.

Приведем некоторые примеры использования выражений-констант в описаниях констант:

const Min = 0; Max = 100; Center = (Max - Min) div 2; Beta = Chr(255); NumChars = Ord('Z') - Ord('A') + 1; Message = 'Out of memory'; ErrStr = 'Error:' + Message + '.'; ErrPos = 80 - Length(Error) div 2; ErrAttr = Blink + Red * 16 + White; Ln10 = 2.302585092994095684; Ln10R = 1 / Ln10; Numeric = ['0'..'9']; Alpha = ['A'..'Z','a'..'z']; AlphaNum = Alpha + Numeric;



Содержание раздела