назад

Глава 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 разрешено использование выражений-констант.

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

За исключением этих ограничений для выражений-констант соблюдаются те же синтаксические правила, что и для обычных выражений (описанных в Главе 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;

 

Hosted by uCoz