Змінні і типи змінних - студопедія

Дані в мові Паскаль

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

· Імена можуть включати латинські букви, цифри і знак підкреслення (для простоти опустимо деякі інші символи, дозволені в іменах);

· Ім'я складається з одного слова; якщо потрібно пробіл в імені, він замінюється на підкреслення: так, My_1 буде правильним ідентифікатором, а My 1 - немає;

· Ім'я завжди починається з букви: допусти м об'єкт з ім'ям A1. але не 1A; великі та малі літери в іменах не розрізняються Паскалем: x1 і X1 - це одна і та ж величина;

· Імена не можуть збігатися з зарезервованими в мові службовими словами. позначають певні в мові операції над даними: наприклад, не можна назвати Begin або BEGIN жодну величину в програмі, так як begin - зарезервоване службове слово, а великі та малі літери в службових словах також не розрізняються. Познайомитися з більшістю службових слів ми зможемо в процесі вивчення мови.

Константою називають величину, значення якої не змінюється в процесі виконання програми.

Числові константи служать для запису чисел. Розрізняють такі їх види:

Цілочисельні (цілі) константи: записуються зі знаком + або -, або без знака, за звичайними арифметичним правилам:

Речові числа можуть записуватися в одній з двох форм:

звичайна запис: 2.5 -3.14 2. - зверніть увагу, що ціла частина відділяється від дробової символом точки;

Експоненціальна ( "наукова") форма: в цьому записі дійсне число представляється у вигляді m * 10 p. де m - мантиса або підставу числа, 0.1≤ | m | ≤1, p - порядок числа, це целочисленная константа. Дійсно, будь-який дійсне число можна представити в експоненційної формі:

99.005 0.99005 * 10 2

У всіх IBM-сумісних комп'ютерах речові числа зберігаються як сукупність мантиси і порядку, що дозволяє спростити операції над ними, використовуючи спеціальну арифметику, окремо обробну мантиссу і порядок. Для програмної записи числа в експоненційної формі замість "помножити на 10 у степені" використовується позначення E або e (латинська):

-153.5 -0.1535 * 10 3 -0.1535E3 або -1.535E02

99.005 0.99005 * 10 2 0.99005E + 2 або 9.9005e + 01

Без прийняття спеціальних заходів, програма на Паскалі буде виводити на екран і принтер речові числа саме в такій формі. Крім того, така форма зручна для запису дуже маленьких і дуже великих чисел:

Оскільки розмір пам'яті, що відводиться під мантиссу і порядок, обмежений, то речові числа завжди представляються в пам'яті комп'ютера з деякою погрішністю. Наприклад, найпростіша речова дріб 2/3 дає в десятковому поданні 0,666666. і, незалежно від розміру пам'яті, що виділяється для зберігання числа, неможливо зберігати всі його знаки в дробовій частині. Однією з типових проблем програмування є врахування можливих похибок при роботі з числами.

Крім числових констант існують і інші їх види:

логічні константи служать для перевірки істинності чи хибності деяких умов в програмі і можуть приймати тільки одне з двох значень. службове слово true позначає істину, а false - брехня;

символьні константи можуть приймати значення будь-якого друкованого символу і записуються як символ, укладений в апострофи ( 'одинарні лапки'):

В останньому випадку значення символьної константи одно символу пробілу. Якщо потрібно записати сам символ апострофа як символьну константу, всередині зовнішніх апострофів він подвоюється: '' ''

До символьним також відносяться константи виду #X, де X - числове значення від 0 до 255 включно, що представляє собою десятковий ASCII-код символу. Таблиці ASCII-кодів, які використовуються операційними системами DOS і Windows, наведені в Додатку 1. Наприклад, значення # 65 буде відповідати коду символу 'A' латинської. Обробка натискань клавіш і розширені коди клавіатури описані в главі 24 і Додатку 5.

Строкові константи - це будь-які послідовності символів, укладених в апострофи. Як правило, рядкові константи служать для запису запрошень до вводу даних, які видаються програмою, виведення діагностичних повідомлень і т.п .:

'Введіть значення X:'

Якщо в строковою константі необхідно записати сам символ апострофа, це робиться так само, як для символьних констант.

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

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

lang = 'Turbo Pascal 7.1';

Тут описана числова константа e зі значенням підстави натурального логарифма і строкова константа з ім'ям lang, що містить рядок 'Turbo Pascal 7.1'.

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

Змінні і типи змінних

Змінними називають величини, значення яких можуть змінюватися в процесі виконання програми. Кожна змінна задається своїм унікальним ім'ям, побудованим за правилами, зазначеним на початку глави. Максимально можлива довжина імені залежить від реалізації Паскаля, теоретично можна давати змінним імена аж до 63 символів довжиною, що навряд чи актуально - зазвичай імена не довше 5-10 символів.

Оскільки будь-які дані в пам'яті комп'ютера зберігаються в числовій формі і двійковій системі числення, крім імені, змінної обов'язково слід привласнити і тип. визначає діапазон значень. прийнятих змінної, і спосіб її обробки машиною. Пояснимо сказане на прикладі. Як видно з Додатка 1, латинська велика літера 'A' має десятковий код 65, або 01000001 в двійковому поданні. Без додаткової інформації про тип даних, що зберігаються в деякій комірці пам'яті, комп'ютера було б неможливо вирішити, що саме являють собою ці дані - число 65, код символу 'A' або щось ще. У будь-якій мові програмування, в тому числі і в Паскалі, існує стандартний набір типів, до яких може бути віднесена та чи інша сукупність елементів пам'яті. Інформацію про типи даних Паскаля зручно звести в таблицю. Рядки цієї таблиці будуть упорядковані по старшинству типів. від самого "молодшого", що вимагає найменше число байт для представлення, і, відповідно, представляє найменший діапазон можливих значень, до самого "старшого", що представляє найбільший діапазон значень. У таблиці представлені не всі можливі, а лише основні типи даних Паскаля.

Ключове слово Паскаля

Назва та опис типу

Обсяг пам'яті, байт

Діапазон можливих значень

Послідовність символів типу Char довжиною від 1 до 255

2-256 (дані рядка + 1 байт для зберігання її довжини)

Будь-які рядки тексту, що складаються з друкованих символів

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

Зрозуміло, завдання правильного вибору типів даних цілком лягає на програміста. Наприклад, якщо деякий лічильник у Вашій програмі може приймати цілочисельні значення від 1 до 100000, неправильно було б описувати його як змінну типу Integer - адже 2 15 = 32768 і при досягненні лічильником цієї величини стається збій його значення, яке стане одно -32768. Розумним в даному випадку було б опис лічильника як змінної типу Longint.

Змінні описуються в програмі оператором такого вигляду:

Тут список - набір імен змінних, розділених комами (або одна змінна), а тип - будь-який з розглянутих вище типів даних. Наприклад, конструкція

описує 2 дійсних змінних з іменами t і r, а також целочисленную змінну з ім'ям i. Ключове слово var можна і продублювати, але зазвичай такої необхідності немає. Скорочення var утворено від англійського слова "Variable" (змінна).