ПАСКАЛЬ: лексика, вирази, семантика
У програмах мови Паскаль (та інших мов високого рівня) змінні позначаються іменами, або ідентифікаторами. Імена можна вибирати будь-які, крім службових слів. Наприклад, ABRACADABRA, temperature, number, f1234qq тощо. У багатьох діалектах імена різняться тільки по перших восьми символах, наприклад, імена abcdefgh1 і abcdefgh2 невідрізнювані.
Змінна величина у математиці вважається заданою, якщо визначено множину значень, які вона може приймати. У Паскаль-програмі змінна задається означенням, де записується її ім'я й тип:
var ім'я : ім'я типу;
наприклад,
var temperature : integer;
або
var even : boolean;
Ключове слово var є скороченням англійського variable – змінна). Кілька однотипних змінних можна означити разом, указавши їх імена через кому:
var a, b, c: integer;
Тип змінної задає множину її можливих значень, і операції, застосовні до них. Наприклад, цілі значення змінної temperature можна до чогось додавати або від чогось віднімати, а до значень змінної even можна застосовувати операцію заперечення, але не навпаки.
Кожна ділянка пам'яті має в комп'ютері щось на зразок номера – адресу. Саме адресою вказується ділянка пам'яті в машинній програмі. Ім'я змінної, записане в Паскаль-програмі, в результаті трансляції перетворюється на адресу деякої ділянки пам'яті програми. При виконанні програми ця ділянка і є тією змінною, чиє ім'я записано в програмі. Ми кажемо, що ім'я змінної вказує, або посилається на ділянку пам'яті під час виконання програми, або що ділянку поставлено у відповідність імені (рис.2.2).
Проте поки незрозуміло, звідки в змінних беруться значення. Зараз дізнаємося.
3.2. Оператор присвоювання
Оператор присвоювання має вигляд:
ім'я змінної := вираз
(знак присвоювання ":=" – це лексема, яку не слід плутати зі знаком порівняння "="). Оператор присвоювання позначає:
1) обчислити значення виразу, записаного праворуч;
2) записати це значення в змінну, позначену ім'ям.
Отже, описані дії є семантикою оператора присвоювання.
Приклад. Якщо ім'я z означено як var z : integer, то оператор присвоювання z:=11*(10+1) позначає обчислення значення 121 і запис його в змінну з ім'ям z. Після його виконання змінна з ім'ям z має значення 121.
Пара вигляду (ім'я, значення) називається станом змінної, наприклад, (z,121) – стан змінної z після виконання оператора присвоювання. Таким чином, після присвоювання змінній нового значення її стан змінюється.