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