Константою називають величину, значення якої не міняється в процесі виконання програми.
Числовіконстанти служать для запису чисел. Розрізняють наступні їхні види:
Цілочисельні (цілі) константи: записуються зі знаком + або -, або без знака, по звичайних арифметичних правилах:
-10 +5 5
Речовинні числа можуть записуватися в одній із двох форм:
звичайний запис: 2.5 -3.14 2. - зверніть увагу, що ціла частина відділяється від дробової символом крапки;
експонентна("наукова") форма: у цьому записі дійсне число представляється у вигляді m*10p, де m – мантиса або основа числа, 0.1≤|m|≤1, p – порядок числа, це цілочисельна константа. Дійсно, будь-яке дійсне число можна представити в експонентній формі:
-153.5 -0.1535*103
99.005 0.99005*102
У всіх Ibm-Сумісних комп'ютерах речовинні числа зберігаються як сукупність мантиси й порядку, що дозволяє спростити операції над ними, використовуючи спеціальну арифметику, що окремо обробляє мантису й порядок. Для програмного запису числа в експонентній формі замість "помножити на 10 у ступені" використовується позначення E або e (латинська):
-153.5 -0.1535*103 -0.1535E3 або -1.535E02
99.005 0.99005*102 0.99005E+2 або 9.9005e+01
Без вживання спеціальних заходів, програма на Паскалі буде виводити на екран і принтер речовинні числа саме в такій формі. Крім того, така форма зручна для запису дуже маленьких і дуже більших чисел:
1030 1e30
-1020 -1E20
10-30 1E-30
Оскільки розмір пам'яті, що приділяється під мантису й порядок, обмежений, те речовинні числа завжди представляються в пам'яті комп'ютера з деякою погрішністю. Наприклад, найпростіший речовинний дріб 2/3 дає в десятковій виставі 0,666666... і, незалежно від розміру пам'яті, виділюваної для зберігання числа, неможливо зберігати всі його знаки в дробовій частині. Однієї з типових проблем програмування є облік можливих погрішностей при роботі з речовинними числами.
Крім числових констант існують і інші їхні види:
логічні константи служать для перевірки істинності або хибності деяких умов у програмі й можуть ухвалювати тільки одне із двох значень: службове слово true позначає істину, а false – неправда;
символьні константи можуть ухвалювати значення будь-якого символу, що друкується, і записуються як символ, укладений в апострофи ('одинарні лапки'):
'Y' 'я' ' '
В останньому випадку значення символьної константи дорівнює символу пробілу. Якщо потрібно записати сам символ апострофа як символьну константу, усередині зовнішніх апострофів він подвоюється: ''''
До символьних також ставляться константи виду #X, де X – числове значення від 0 до 255 включно, що представляє собою десятковий Ascii-Код символу. Таблиці Ascii-Кодів, використовуваних операційними системами DOS і Windows, наведено в Додатку 1. Наприклад, значення #65 буде відповідати коду символу 'A' латинської. Обробка натискань клавіш і розширені коди клавіатури описано в главі 24 і Додатку 5.
Строкові константи – це будь-які послідовності символів, укладених в апострофи. Як правило, строкові константи служать для запису запрошень до введення даних, видаваних програмою, виведення діагностичних повідомлень і т.п.:
'Уведіть значення X:'
'Відповідь='
Якщо в строковій константі необхідно записати сам символ апострофа, це робиться так само, як для символьних констант.
Іменовані константи описуються в розділі описів програми оператором наступного виду:
const Ім'я1=Значення1;
Ім'я2=Значення2;
. . .
Имяn=Значениеn;
Тут ключове слово const показує початок розділу описів іменованих констант. Ясно, що найчастіше зручніше звертатися до константи по імені, чому щораз переписувати її числове або строкове значення. Приклад розділу констант:
const e=2.7182818285;
lang='Turbo Pascal 7.1';
Тут описана числова константа e зі значенням підстави натурального логарифма й строкова константа з іменем lang, що містить рядок 'Turbo Pascal 7.1'.
Кожне ім'я, що дається програмістом, повинне бути унікальним у межах однієї програми. Якщо ми включимо цей розділ у свою програму, ми вже не зможемо створити в ній інших об'єктів з іменами e і lang.