Типи даних.
Поняття змінної, оголошення змінної.
Величиною у програмуванні називають об’єкт, з яким пов’язується певна множина значень. Такому об’єкту надається ім’я – ідентифікатор.
Величини можуть бути змінними й постійними.
Константою – називається величина, яка під час виконання програми не змінює свого значення.
Змінна – це величина, значення якої змінюється під час виконання програми.
Величини звичайно позначаються окремими символами(а, в, х) або послідовністю символів(а1,х3, в13с).
Ідентифікатор – це ім’я, що вибирається для елементів алгоритму: змінних, констант, заголовків.
Тип величин визначає, яких значень може набувати величина і які операції з цією величиною дозволені.
Числові величини подані двома типами: цілий(ціл) і дійсний(дійсн).
Літерні величини слугують для роботи з текстом – це довільні послідовності символів: літер, цифр, розділових знаків.
Логічні величини – можуть набувати лише двох значень: True (Так) і False(Ні).
Складені величини - задаються кількома компонентами, наприклад таблиці і масиви.
Типи даних та їхні описи
Будь-який елемент даних (константу, змінну) можна віднести до того чи іншого типу. Тип визначає безліч значень, яких може набувати елемент даних. Усі типи даних мають бути зрозумілими компілятору, і тому типи, що вводяться програмістом, необхідно описати
Тепер розглянемо детально ці та інші типи, а також їхній опис у програмах на Паскалі.
Цілочислові типи
Крім відомого вам типу integer, що представляє значення цілих у діапазоні від -32768 до 32767, у Pascal є й інші цілочислові типи:
bуtе - числа в діапазоні 0 . . 255;
shorting - числа в діапазоні -128 . . 127;
word - числа в діапазоні 0 . . 65535;
longint - числа від - 2147483648 до 2147483647.
Межі діапазонів визначаються тим, що для збереження змінних типу bуtе або shorting надається 1 байт оперативної пам'яті, для змінних integer і word - 2 байти, а для longint - 4 байти.
Наведемо приклад опису цілочислових змінних:
var
Н1, Н2: word;
zсо1оr: bуtе;
З даними цілого типу можна виконувати арифметичні операції й операції відношення До цілочислових даних застосовують також стандартні функції: sin(х), соs(х), arctan(х), ехр(х), ln(х), sgrt(x) тощо.
Дійсні типи
В арифметичних виразах звичайно використовуються змінні, які набувають дійсних значень. Нагадаємо, що всі дійсні числа можуть зображатися у формі з фіксованою крапкою (наприклад, 0.13, 4.671, 6133.99 тощо) і з плаваючою крапкою (наприклад, 2*103, 5.17*10~7 тощо). Значення з плаваючою крапкою у мові Рascal записуються у форматі
<мантиса> Е <порядок> наприклад, 2ЕЗ чи 5.17Е -7* .
Для представлення дійсних значень у Рascal частіше використовуються типи: real, single, double. Ці типи розрізняються діапазоном допустимих значень і обсягом необхідної пам'яті:
real- числа від 2.9Е-39 до 1.7Е38 з мантисою 11-12 знаків; надається 6 байт пам'яті;
single - числа від 1.5Е-45 до 3.4Е38 з кількістю значущих цифр 7 - 8; надається 4 байти пам'яті;
double - числа від 5.0Е-324 до 1.7Е308 з кількістю значущих цифр 15-16; надається 8 байт пам'яті.
Зазначимо, що дійсні типи, крім real, можуть використовуватися в програмі, якщо в комп'ютері є апаратна підтримка арифметики з плаваючою крапкою (наприклад, є математичний співпроцесор).
- Мантисою називається дробова частина десяткового логарифма. Наприклад, визначимо логарифм числа
X = 4567.89 = 4.56789*103. Логарифм складатиметься з цілої частини (характеристики) і дробової частини (мантиси):
lg X = 3 + lg(4.56789).
Формат опису дійсних типів аналогічний опису цілочислових типів:
vаг
yI, y2 : single;
zz:double;
До даних дійсного типу застосовуються ті самі операції, що й до цілих. При запису операцій присвоювання потрібно пам'ятати, що змінній дійсного типу можна надати значення виразу цілого типу, але не навпаки.
Символьний тип
Змінні, які набувають символьних значень з таблиці АSСII, належать до символьного типу - char. Для розміщення таких змінних у пам'яті потрібний лише один байт.
До програми на Паскалі символьні змінні вводяться за допомогою такого опису:
vаr
Wх, Uх: char; Якщо в програмі є значення символьних змінних, їх слід взяти в апострофи,
наприклад, Х=' В'.
Для змінних типу char у Паскалі передбачена стандартна функція ord(Х), що перетворить символ X на його АSСII-код. Так, для символу ' В' функція ord повертає значення 66. Зворотне перетворення коду на символ здійснюється функцією сhr(X), тобто функція chr (66) повертає символ ' В'
Логічний тип
Величини логічного (булевого) типу ми розглядали раніше. Під час опису цих величин у програмі на Паскалі використовується слово boolean, наприклад,
var
Pozit, Sel: boolean;