У програмуванні змінна – це сховище, яке містить значення. Це значення може змінюватися під час розрахунку, тому змінну називають змінною.

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

Інший приклад: у програмі для гри у хрестики-нулики нам потрібно дізнатися, чи хтось із гравців уже виграв. Отже, ми проходимо окремі напрямки на дошці й у кожному з них підраховуємо, скільки хрестиків (або нуликів) є в рядку. Ми зберігаємо це число у змінній. Крім того, нам потрібно зберегти весь план гри в деякій змінній. Однак у базових вправах ми зупинимося лише на числових змінних, які, як правило, функціонуватимуть як прості лічильники.

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

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

Вгору

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

  • ціле число (123, −7) – над числами можна виконувати арифметичні операції (1 + 2) і порівнювати їх (1 < 2)
  • десяткові числа (1,23, –0,05) – зазвичай використовується так звана «рухома кома», яка дозволяє зберігати навіть дуже великі чи маленькі числа, але з обмеженою точністю (наприклад, з 5 значущими цифрами можна зберігати як 123 450 000, так і 0,000 012 345, але не 123,456)
  • логічне значення (істинності) (правда, неправда) – представляє інформацію про правдивість, з цими змінними можна виконувати логічні операції (x не застосовується, x або y, x і y). Цей тип часто називають булевими (“bool” або “boolean”) на честь Джорджа Буля, який описав правила обчислення з подібними значеннями
  • текстовий рядок (“слово”, “більше слів”) – представляє текст будь-якої довжини. Щоб відрізнити цей текст від імен змінних, рядки зазвичай відокремлюють «лапками» або ‘апострофами’. Необхідно розрізняти рядок, що містить число, і число: “123” не є 123. Цей тип часто називають «string» від англійського слова, що означає «рядок»
  • список (поле) ([1, 2, 3], [‘x’, ‘y’, ‘z’]) – дозволяє зберігати кілька пов’язаних значень в одній змінній. (Інші типи часто доступні для зберігання різних колекцій даних)

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

Вгору

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

Розмір літер має значення

Більшість мов програмування чутливі до регістру в іменах, наприклад, Price і price — дві різні змінні.

Дозволені імена

Змінні не можна називати довільно. Конкретні обмеження дещо відрізняються для різних мов програмування. Типові обмеження:

  • Імена можуть містити лише літери, цифри та підкреслення. Якщо б змінна називалася a+b, її не можна було б відрізнити від операції додавання. Але назва не має починатися з числа. Якби змінна була названа 12, її було б неможливо відрізнити від значення 12.
  • Імена не можуть містити пробіли. Якби змінна називалася ціна моркви, було б непросто визначити, чи це дві змінні (ціна та морква). Якщо нам потрібно більше слів, ми можемо використати, наприклад, підкреслення (ціна_моркви).
  • Так звані зарезервовані слова, які вже мають визначене значення у мові програмування *(як-от, повторюй, або, правда), не можна використовувати як назву.

Дозволені імена у блокових мовах

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

Конвенція

Крім того, різні мови програмування мають різні конвенції, які сприяють одноманітності коду. Наприклад, у Python назви змінних пишуться малими літерами англійською мовою, а кілька слів розділяються символами підкреслення (як-от, car_speed). Однак це лише рекомендація – програма запуститься незалежно від того, дотримуємося ми конвенцій чи ні.

Конвенція для багатослівних змінних

Наприклад, різні мови програмування мають різні угоди для написання багатослівних імен змінних. Використовуються такі варіанти:

  • пропускаючи пробіли (цінаморкви)
  • заміна пробілів на підкреслення (ціна_моркви) – так звана “змієва нотація”
  • заміна пробілів на дефіс (ціна-моркви) – так звана “шампурна нотація” (менш поширена, тому що дефіс використовується для віднімання)
  • пропуск пробілів і позначення початку слова великою літерою (цінаМоркви, або ЦінаМоркви) – так звана «верблюжа нотація» (великі літери в назві нагадують горб верблюда)

Описи

Описові назви полегшують читання програми та зменшують ризик помилок. Команда total_price ← price_carrot_1kg * kg_carrot зрозуміліша, ніж price ← c * m, а також зрозуміліше, що одиниці вимірювання правильні. Ми вибираємо імена, які чітко виражають призначення змінної, навіть якщо вони мають довшу назву. Імена з однієї літери (як-от, x) придатні лише в обмежених випадках (керуюча змінна циклу, координати точки, приклади короткого коду).

Ще деякі поради

  • Використовуйте імена, які добре вимовляються.
  • Не використовуйте скорочень (за винятком загальновідомих).
  • Не допускайте у програмі двох імен, які відрізняються лише одним символом.
  • Не допускайте у програмі двох імен, які вимовляються однаково.
  • Не використовуйте одну назву для кількох різних речей в одному контексті (навіть якщо нам більше не потрібно посилатися на вихідну змінну).
Вгору
ЗВ’ЯЖІТЬСЯ З НАМИ

Дякуємо за ваше повідомлення, його було успішно відправлено.

Напишіть нам

Вам потрібна допомога?

Будь ласка, спочатку ознайомтеся з інструкціями.

Будь ласка, не надсилайте запитання пов'язані з відповідями або пояснення послідовності розв'язання. Якщо ви сповіщаєте про помилку, вкажіть, будь ласка, у чому вона полягає та додайте скріншот.

Про що йдеться у повідомленні?

Повідомлення Сповістити про помилку Зміст Управління Вхід до системи Ліцензія