Константи

Змінні

Змінні. Константи. Вирази

В математиці змінна – величина, яка в задачі приймає різні значення. Вони повністю визначені наперед заданими умовами. Їх легко записати на папері: для цього досить написати будь-яке число. Математичні змінні можуть містити лише числові дані. Комп’ютерні ж змінні можуть містити як числові, так, наприклад, і символьні дані (букви, цифри та інші символи). Змінні у програмування призначені для зберігання та передачі даних усередині програми. Змінні набувають різних значень під час виконання програми. Але, на відміну від математики, змінна в комп’ютері зберігається в пам’яті, використовуючи його фізичний ресурс. Тому на фізичному рівні поняттю змінної відповідає група комірок оперативної пам’яті. Кожна така комірка має свою адресу. Ці адреси ставляться у відповідність іменам змінних під час оголошення, тому що не зручно працювати з адресами. Якщо говорити більш точно, ім’я змінної посилається на першу комірку з групи. Таким чином,змінна – це поіменована область оперативної пам’яті комп’ютера, де зберігається значення деякої величини. Змінна має такі властивості: назву, значення, тип.

(Вставити рис. Ковалюк 72)

Фізичний ресурс комп’ютера обмежений, тому пам’ять, що виділяється для зберігання змінних, треба використовувати економно. Цей фактор обмежує діапазон значень змінної, тобто множину значень, котрі вона може приймати. Діапазон значень змінної визначається її типом. Тип змінної служить для компілятора вказівкою того, скільки байт пам’яті вона займає (скільки комірок оперативної пам’яті треба виділити). Змінна може приймати будь-які значення в межах діапазону, що визначається її типом.

Нагадаємо синтаксис оголошення змінних:

var ім’я_змінної : тип;

Зазначимо, що однотипні змінні можна оголошувати в одному переліку, вказуючи їх імена через кому. Як ідентифікатор типу можна використовувати ім’я, яке було оголошене раніше в розділі оголошення типів, або ім’я стандартного типу.

Наведемо змінні різних типів.

type

SpringMonth = (March, April, May);

var

a : real; // дійсна змінна

b, c : byte; //цілочислові змінні

flag : boolean; //логічна змінна

key : char; //символьна змінна

digit : 0 .. 9; // змінна інтервального типу користувача

alphabet : ‘a’ .. ‘z’; // змінна інтервального типу користувача

month : SpringMonth; // змінна перелічуваного типу користувача

 

 

Константа – це дані програми, що не змінюється в процесі роботи програми. В Object Pascal існують константи двох типів: звичайні та іменовані. Звичайна константа – це число, символ, рядок або логічне значення. Числові константи можуть бути цілими або дробовими, додатними або від’ємними. У дробових констант ціла частина відділяється крапкою (а не комою). Перед від’ємними числами ставиться мінус, перед додатними плюс можна не ставити, наприклад:

325 0.0 –627.15 0

Дроби можуть бути описані у вигляді числа з плаваючою крапкою у вигляді

± а е ± n,

де а – число, за модулем менше 10 (|a|<10);

е – спеціальний символ;

n – порядок числа;

± – знак «мінус» або «плюс» перед а і n.

Безпосередньо в програмі константи з плаваючою крапкою можуть бути записаними:

1е4 –6.2715е2 2.17е-4

 

Рядкові та символьні константи беруться в одинарні лапки:

‘Hellow World’ '5.62' 'А' 'а' 'b'

Можна вважати, що символ – це рядок одиничної довжини.

Логічні константи мають значення false або true, що означає хибність або істинність відповідно.

Іменована константа відрізняється від звичайної тим, що має ім’я. Тому замість вказівки в програмі значення константи можна використовувати її ім’я. Це зручно, наприклад, в тому разі, коли константа використовується багаторазово або має велику довжину.

Об’ява іменованої константи розміщується в розділі оголошень і виглядає як

Const ім’я_константи = значення ;

Наприклад:

Constkol = 4; //цілочислова константа

Radius = 2.514; //дійсна константа

Name = ’Петров П.М.’; //рядкова константа

L = true; //логічна константа

sim=’a’; //символьна константа

Іменована константа може визначатися за допомогою константного виразу:

Const ім’я_константи = константний_вираз ;

В константному виразі можуть використовуватися звичайні константи, раніш описані іменовані константи, знаки операцій, а також деякі стандартні функції:

Abs Lo Round

Chr Low SizeOf

Hi Odd Succ

High Ord Swap

Length Pred Trunc

Наприклад:

const

Nalog = 300*0.2;

Name = 'Олексій'+'Петрович';

Gamma = abs(-1.18*1.5);

Визначаються значення констант на етапі компіляції, та на етапі виконання програми використовуються обчислені значення іменованих констант, що забезпечує більшу швидкість виконання. Крім того, на відміну від змінних, константи є частиною коду програми та під них не виділяються ділянки оперативної пам’яті. Компілятор автоматично розпізнає тип константи без його попереднього оголошення. Під час компіляції програми компілятор замінює ідентифікатори констант їх значеннями в операторах, де ці ідентифікатори трапляються. Використання іменованих констант робить текст програми більш осмисленим і спрощує, за необхідності, зміну значення константи у всій програмі.

Як вже відомо, константи – це дані програми які не можуть змінювати своє значення під час виконання програми. Але і в цьому правилі є виключення – типізовані константи. Типізовані константи – це змінні, яким надано, значення на початку виконання програми.

Типізовані константи визначаються як

Const ім’я_константи: тип = вираз;

Наприклад:

const

A : integer = 6;

S : real = 18.263-trunc(18.263);

Для типізованих констант виділяється оперативна пам’ять.

На відміну від звичайних констант, типізовані константи можуть змінювати своє значення в процесі виконання програми за умови, що виконується директива {$J+}. Якщо виконано директиву {SJ–}, змінювати значення типізованих констант не можна і вони перетворюються в звичайні іменовані константи. Звичайно, автоматично виконується директива {SJ+}.