1. Стандартні типи даних. Одним з найважливіших понять у програмуванні є змінна. Змінна — це поіменована ділянка оперативної пам'яті комп'ютера, де зберігається значення деякої величини. Змінна має такі властивості: назву (ім’я), значення, тип. Кількість змінних та їхні властивості задає користувач. Тип змінної визначає її допустимі значення, а також операції, які можна над нею виконувати. У програмі Trykutnyk з § 1 змінні p та s оголошені як змінні числового дійсного типу.
Розглянемо стандартні типи даних: числові цілі (табл.1), числові дійсні (табл.2), символьний та логічний. Інші типи вивчатимемо дальше.
Табл.1.Цілочислові типи
Назва типу
| Діапазон значень
|
byte
| 0..255
|
shortint
| –128..127
|
word
| 0..65535
|
integer (основний тип)
| –32768..32767
|
longint
| –2147483648..2147483647
|
Розглянемо такі дві змінні: var x:byte; y:integer. Цим змінним можна надати, наприклад, таких значень: x:=65; y:=–5. Зауважимо, що змінна x не може набувати від'ємних значень, оскільки вони не входять до діапазону допустимих значень типу byte.
Табл.2.Дійсні типи
Назва типу
| Діапазон значень
|
single
| 1.5·10–45–3.4·1038
|
real (основний тип)
| 2.9·10–39–1.7·1038
|
double
| 5.0·10–324–1.7·10308
|
extended
| 3.4·10–4951–1.1·104932
|
Дійсні числа можна записувати у форматі з фіксованою крапкою, наприклад, 5.04, –12.109, або у форматі з плаваючою крапкою, наприклад, –5.2Е+2 (це є –520.0), 16.1Е–3 (це є 0.0161). Символи nЕ+2 означають множення числа n на 10 у степені +2, тобто
nEm=n•10m.
Символьний тип (char) — це множина символів кодової таблиці комп'ютера ASCII. Символьна стала — це символ, взятий у лапки, наприклад, ’а’, ’5’, ’%’.
Логічний тип (boolean) характеризується двома значеннями: false (хибність) та true (істинність).
Усі стандартні типи (окрім дійсного) є впорядкованими, тобто для кожного даного визначені наступне та попереднє значення.
2. Нестандартні прості типи. Усі наведені вище типи даних є стандартними. Їх не треба описувати у розділі типів. Користувач може визначити свої власні типи даних у розділі type так:
| type
| <ім’я типу 1> = <опис типу 1>; … <ім’я типу n> = <опис типу n>;
|
До простих нестандартних типів належать перерахований, діапазонний та рядковий типи.
Перерахований тип утворюють з ідентифікаторів (імен користувача) шляхом їх об’єднання у список, який записують у круглих дужках:
type <ім’я типу> = (<значення 1>, <значення 2>, …, <значення n>);
Приклад. Опишемо два перераховані типи (дні тижня та кольори):
typeweek = (mon, tue, wed, the, fri, sat, sun);
colors = (red, green, yellow, white);
та оголосимо дві змінні — day та mycolor цих типів:
var day : week; mycolor : colors;
Цим змінним можна надати, наприклад, такі значення:
day := fri, mycolor := green, mycolor := yellow.
Номер першого елемента списку завжди є 0. Дані перерахованого типу не можна вводити з клавіатури чи виводити. Даними перерахованого типу не можуть бути числові чи символьні значення.
Діапазонний тип — це звуження деякого базового упорядкованого типу. Його описують наступним чином:
type <ім’я типу> = <значення 1> .. <значення 2>;
Приклад. Розглянемо три типи, які описують усі дні тижня, робочі дні та номери місяців, і оголосимо змінні day1, day2, day3 та month цих типів:
typeweek = (mon, tue, wed, the, fri, sat, sun);
workdays = mon..fri;
months = 1..12;
var day1, day2 : week; day3 : workdays; month: months;
Рядковий тип даних (string). Значенням змінної рядкового типу може бути довільна послідовність, яка складається не більше, ніж з 255 символів. Змінні рядкового типу можна описати у розділі опису констант, типів, або оголосити у розділі змінних. Наприклад,
const s = 'Bye!'; type t = string[10]; var top : t; w : string.
У квадратних дужках зазначають довжину рядка. Сталі типу рядок використані в програмі Trykutnyk у команді виведення writeln.
3. Типовані сталі. Окрім звичайних, є ще типовані сталі. Вони дають змогу оголошувати змінну й відразу надавати їй значення:
| const
| <ім’я сталої 1> : <тип 1> = <значення 1>; … <ім’я сталої n> : <тип n> = <значення n>;
|
На відміну від звичайних, значення типованих сталих у програмі можна змінювати. Приклади типованих сталих:
const mysymbol : char = 'а'; n : integer = 5; p : real = 1.73.