Змінні і константи

змінні

Будь-яка програма обробляє дані (інформацію, об'єкти). Дані, з якими працює програма, зберігаються в пам'яті комп'ютера (частіше оперативної). Програма повинна знати, де вони лежать, яким обсягом пам'яті вона має в своєму розпорядженні, як слід інтерпретувати дані (наприклад, як числа або рядки). Для забезпечення програмі доступу до ділянок пам'яті існує механізм змінних.

Змінні описуються на початку програми і як би повідомляють про те, з якими даними працюватиме програма і який обсяг пам'яті вони займуть. Іншими словами, резервується пам'ять. Але це не означає, що в ці осередки пам'яті поміщаються конкретні значення (дані). На момент резервування пам'яті в них може бути що завгодно.

У процесі виконання програми в осередку пам'яті будуть міститися конкретні значення, вилучатись звідти, змінюватися, знову записуватися. Ми ж через програму звертаємося до них за допомогою імен змінних, які були описані на початку програми.

Імена змінних можуть бути майже будь-яким поєднанням англійських букв і цифр (без пробілів). Не можна щоб імена змінних збігалися зі словами, які є якимись командами самої мови програмування. Не можна починати імена змінних з цифри або спеціального символу. Для того щоб імена змінних були зручні для сприйняття, треба намагатися дотримуватися пари правил. Якщо включення програми найпростіший приклад, то імена змінних повинні бути осмисленими словами або їх скороченнями. Бажано, щоб імена змінних не були занадто довгими.

У Pascal великі та малі літери в іменах змінних не розрізняються.

При описі змінних вказується не тільки їх ім'я, а й тип. Тип змінних повідомляє про те, скільки відвести під них пам'яті і що за дані там планується зберігати. Точніше зберігається там завжди будуть числа в двійковій системі числення. Але що вони означають, може бути чим завгодно: цілим або дробовим числом, символом, рядком, масивом, записом і ін. Тобто тип змінної визначає те, що ми можемо зберегти в ділянці пам'яті, з яким пов'язана описувана змінна.

У прикладі нижче відбувається введення значень трьох змінних різних типів і виконання допустимих для їх типів операцій. Якщо тип змінних integer, то їм можна присвоювати тільки цілі числа в діапазоні від -32768 до 32767. Під тип integer в мові програмування Паскаль відводиться 2 байти, що дорівнює 16 бітам, а це значить, що можна зберігати 2 16 (65536) значень ( негативні і позитивні числа, а також нуль). У цих діапазонах змінні int1 і int2 можуть приймати які завгодно значення. При спробі запису в змінну значення не її типу виникне помилка.

Приклад роботи програми:

Отже, змінні пов'язані з ділянками пам'яті, вміст яких може змінюється по ходу виконання програми в певних межах.

довжина змінних

Ранні версії компіляторів Паскаля мали обмеження на що враховується довжину імен змінних. В імені враховувалися лише перші вісім символів. Тому, наприклад, такі змінні як variable1 і variable2 компілятор сприймав як одне і теж, тому що перші вісім символів збігалися.

У сучасних версіях компіляторів з мови Pascal таких обмежень немає. Наприклад, в результаті роботи наведеної нижче програми як в середовищі Free Pascal, так і Turbo Pascal 7.1 на екран виводяться два різних числа (10 і 20). Це означає, що компілятори враховують більше восьми символів в іменах змінних (і інших ідентифікаторів: іменах констант, процедур і ін.).

Що робити, якщо в програмі потрібно постійно використовувати яке-небудь одне і теж число. Начебто це не проблема. Можна описати змінну, потім привласнити їй значення і не змінювати його в програмі. Однак це не завжди зручно (можна ненавмисно змінити), тому в мовах програмування для зберігання даних крім змінних існують константи.

Головна перевага констант полягає в тому, що вони описуються на початку програми і їм відразу там же присвоюється значення, а при виконанні програми константи не змінюються. Але якщо при правці коду, програміст вирішить поміняти значення константи, він впише в її опис інше значення, а сам код програми редагувати не доведеться. Тому, якщо в програмі часто планується використовуватися якесь значення, опишіть його в розділі констант, який в програмі розташовується до розділу змінних:

Значеннями констант можуть бути дані більшості типів, які використовуються в мові Паскаль.

Розглянемо таку програму:

типізовані константи

У мові Паскаль крім звичайних констант використовуються типізовані константи. Можна сказати, що вони займають проміжне положення між змінними і константами. Вони отримують значення при описі (як константи), але можуть його змінювати в тілі програми (як змінні).

Описуються типізовані константи в розділі констант: