4.2. Константы в Turbo Pascal 7
Константами называются параметры программы, значения которых не меняются в процессе ее выполнения.
В языке Паскаль возможно двоякое использование констант:
- непосредственное использование значения константы;
- использование идентификатора константы.
Задание констант идентификаторами осуществляется в разделе объявления констант, начинающемся зарезервированным словом const. В Turbo Pascal имеется две разновидности констант, заданных идентификаторами:
- обычные константы, тип которых определяется их значением;
- типизированные константы, для которых в явном виде указывается их тип.
Обычные константы могут быть целого, вещественного, символьного, логического типа и типа string, типизированные константы - любого типа, кроме типа файл (или содержащего компоненту типа файл). Для обычных констант задаются их имена и значения, разделенные знаком равенства:
const
<имя константы 1> = <значение 1>;
<имя константы 2> = <значение 2>;
. . .
<имя константы N> = <значение N>;
Значения констант могут задаваться как конкретными величинами соответствующего типа, так и константными выражениями.
4.2.1. Целые константы
В изображении целых констант присутствуют лишь знак и цифры (знак + можно не указывать). Предполагается десятичная система счисления, однако можно использовать и шестнадцатеричную. В этом случае перед константой следует поставить знак $. Диапазон целых десятичных чисел - от-2147483648 до 2147483647, а шестнадцатеричных - от $00000000 до $FFFFFFFF. В Turbo Pascal заданы два предопределенных целых числа:
MaxInt = 32767
MaxLonglnt = 2147483647
4.2.2. Вещественные константы
Вещественные константы в своем изображении содержат десятичную точку или/и показатель степени (символ Е или е), например:
var
X = -0.5;
Y = 1.0;
Z = -1Е-5;
W = 7.5е+15;
4.2.3. Строковые и символьные константы
Строка символов - это последовательность любого, в том числе и равного нулю, количества символов из набора ASCII, расположенных на одной строке и заключенных в апострофы. Ограничением здесь может быть максимальный размер строки, воспринимаемый компилятором, - не более 126 символов.
Строка, состоящая из одного символа, называется символьной константой.
Если между апострофами нет ни одного символа, то такая строка называется нулевой строкой.
При необходимости поместить в строку символ "апостроф", его следует записать дважды, например
'Язык ' 'Turbo Pascal'''
Для включения в строку символов, не имеющих физического изображения, используется их ASCII-код с символом # перед ним. Для изображения управляющих символов (коды от 0 до 31) можно использовать символ ^ и соответствующую букву, код которой равен коду управляющего символа плюс 64.
Пример. Строковые константы.
const
Symbols = 'TURBO';
Apostroph = '''';
TwoLines = 'Line1'#13#10'Line2';
Return = ^M^J; {Коды управляющих символов 13 и 10}
4.2.4. Константные выражения
Константные выражения - это такие выражения, которые могут быть вычислены на стадии компиляции без запуска программы. Они являются частным случаем выражений и могут состоять из констант, знаков операций, круглых скобок и некоторых стандартных функций.
Пример. Константные выражения.
$А00 |
{выражение, состоящее из константы} |
'А' |
{выражение, состоящее из символьной константы} |
Pi/4 |
{выражение с использованием функции и знака операции} |
'TURBO' + '-' + 'PASCAL' |
{конкатенация (объединение) строк} |
Использование константного выражения приведено также в п. 16.3.21.
В константных выражениях можно использовать следующие функции: Abs, Chr, Hi, High, Length, Lo, Low, Odd, Ord, Pi, Pred, Ptr, Round, SizeOf, Succ, Swap, Trunc.
4.2.5. Типизированные константы
Типизированные константы фактически представляют собой инициализированные переменные и могут использоваться наравне с обычными переменными, в том числе и в левой части операции присваивания.
Для каждой такой константы задается ее имя, тип и начальное значение. Тип от имени отделяется двоеточием, начальное значение от типа - знаком равенства:
const
<имя константы>: <тип константы> = <значение константы>;
Пример.
const
Maximum: Integer = 9999;
Rea: Real = -0.5;
Bell: Char = #7;
Правила задания значений типизированным константам структурированных типов рассмотрены при описании соответствующих типов (пп. 6.1, 6.4, 6.5).
Следует иметь в виду, что типизированные константы (в том числе и константы процедур и функций) инициализируются только раз - в начале работы программы.
Независимо от места объявления типизированных констант в программе все они размещаются в сегменте данных программы.
|