Типи даних в Pascal

Для тимчасового зберігання інформації в операторах пам’яті машини в мові Pascal використовуються константи і змінні. Вони можуть бути різних типів:

Для різних середовищ програмування діапазони значень даних та розміри змінних можуть суттєво відрізнятися. Див. зведена таблиця типів даних для різних середовищ.

Нижче наведені дані для середовища програмування PascalABC.NET

Цілі типи:

Назва Довжина в байтах Діапазон значень
byte  1  0…255
word  2  0…65535
uint64 8 0…264-1
shortint  1  -128…127
smallint 2  -32768…32767
integer 4 -231…231-1
longint  4 -231…231-1
int64 8 -263…263-1

 Над цілими типами визначені такі операції:

“+” – Додавання;

“*” – Множення;

“-” Віднімання;

div – цілочисельне ділення;

mod – отримання залишку від цілочисельного ділення.

Дійсні типи:

Дійсні типи представляються з деякою точністю, яка залежить від комп’ютера. Тобі необхідно знати, що дійсний тип поділяється на кілька типів, але використовувати ми будемо дійсні дані тільки типу Real, які займають 8 байт, мають діапазон можливих значень модуля 5.0*10-324…1.8*10308 і точність представлення даних 15-16 значущих цифр (6 байт, діапазон значень 2.9*10-39 до 1.7*1038 і 11-12 значущих цифр у TurboPascal).

Примітка. Незважаючи на те, що в Pascal є широкий вибір дійсних типів, доступ до деяких з них (single, double, extended) можливий при особливих режимах компіляції. Особливе становище в Turbo Pascal займає тип comp, трактується як дійсне число без експоненційної і дробової частин. Він зберігає 19 – 20 значущих цифр і знак числа. У той же час comp повністю сумісний з будь-якими іншими дійсними типами.

У мові Паскаль числа можуть бути представлені в двох видах: з фіксованою крапкою і плаваючою крапкою.

Числа з фіксованою крапкою зображуються десятковим числом з дробової частиною, яка може бути і нульовою. Наприклад, 27.9, 5.00

Такі великі числа, як 137.000.000, можна записати в форматі з десятковим порядком: 1.37 · 108. В Turbo Pascal для подібних чисел прийнята форма запису mEp, де m – мантиса; E – ознака записи числа з десятковим порядком; p – показник ступеня числа 10. Таке представлення чисел і називається форматом з плаваючою крапкою. Число 1.37 · 108 в цьому форматі запишеться так: 1.37Е + 8. Розглянемо ще кілька прикладів:

Математична запис Запис на Паскалі
4 · 10-4 4E -4
0,62 · 105 0.62E + 5
-10,88 · 1012 -10.88E+12

За замовчуванням, дійсні числа виводяться у вигляді чисел з плаваючою крапкою. Таке представлення чисел не дуже подобається користувачам. Тому ми будемо “змушувати” комп’ютер видавати дійсні числа в більш звичному варіанті наступним чином:

R: m: n, де R – дійсне число, m – загальна кількість позицій, що відводяться числа, n – кількість позицій, що відводяться для дробової частини.

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

Символьний тип (char):

Значенням величини даного типу є символ з множиною всіх символів комп’ютера: латинська, ураїнська, російська велика чи маленька літери, цифра, розділовий знак, спеціальний знак (наприклад, “+”, “-“, “*”, “/”, “”, ” = “і ін.) або пробіл ” “. Кожен із символів має унікальний номер від 0 до 255, тобто внутрішній код, який повертає функція ORD. Символьна константа – будь-який символ мови, укладений в одинарні лапки. Наприклад,

Рядковий тип (string):

Значенням рядкової величини є рядок змінної довжини (можливо, порожній). Рядкова константа є довільна послідовність символів, укладена в одинарні лапки. Наприклад,

Логічний тип (boolean):

Логічний тип даних часто називають булевим по імені англійського математика Д. Буля, творця математичної логіки. У мові Паскаль є дві логічні константи TRUE і FALSE. Логічна змінна приймає одне з цих значень і має тип Boolean. Для порівняння даних передбачені наступні операції: <, <=, =, <>,>,> = Результат операції відношення має логічний тип, тобто результат операції може бути істинним або хибним, наприклад, 3> 5 – хиба.

Над величинами цього типу можна виконувати специфічні логічні операції OR – або; AND – і; NOT – ні.

Більш детально цей тип даних ми розглянемо при вивченні умовного оператора.

Складні типи:

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

Завдання. Відкрий новий файл. Створи програму, в якій оголоси кілька змінних різного типу, введи в них значення і виведи на екран.

Уважно розглянь кожен рядок програми. Зверни особливу увагу на опис змінних: Chislo1 – змінна цілого типу, Chislo2 – дійсного, Simvol – символьного, Stroka – рядкового, Logika – логічного. Далі в основній програмі йде присвоєння змінній Chislo1 цілого числа 12, змінній Chislo2 – цілого числа 24. Зверни увагу, що змінній дійсного типу Chislo2 присвоєно ціле число; ніякої помилки немає, оскільки множина цілих чисел є підмножиною множини дійсних чисел. Наступний рядок ще більш цікавий: змінній Chislo2 присвоюється значення тієї ж змінної, тільки розділеній на 5.

Таке присвоювання використовують у програмах, якщо попереднє значення цієї змінної вже не знадобиться і для більш раціонального використання описаних змінних. Для того щоб змінній символьного типу присвоїти будь-який символ (наприклад, d), треба цей символ записати в одинарних лапках (знак « ‘»). Аналогічно роблять зі змінними рядкового типу (дивись наступний рядок програми). А про змінні логічного типу ми знаємо, що їм можна присвоювати тільки два значення: True і False. У цій програмі ми присвоюємо значення результату порівняння двох змінних, тут воно буде дорівнює True. А тепер виведемо присвоєні значення на екран.

Завдання. Зміни значення змінних і проаналізуй результати виконання програми.

May everyone find his happiness.