Типи даних мови паскаль
У мові Паскаль змінні характеризуються своїм типом. Тип - це властивість зміною, по якому змінна може приймати безліч значень, допустимих цим типом, і брати участь в безлічі операцій, допустимих над даним типом.
Тип визначає безліч допустимих значень, яке приймає змінна даного типу. Визначає так само безліч допустимих операцій від змінної даного типу і визначає представлення даних в оперативній пам'яті комп'ютера.
Паскаль - статичний мову, з цього випливає, що тип зміною визначається при її описі і не може бути змінений. Мова Паскаль має розвинену систему видів - всі дані повинні належати заздалегідь відомого типу даних (або стандартному типу, створеному при розробці мови або призначеному для користувача типу, який визначає програміст). Програміст може створювати свої типи довільною структурою складності на основі стандартних типів, або вже визначених користувачем типів. Кількість створених типів необмежено. Призначені для користувача типи в програмі оголошується в розділі TYPE за форматом:
Система стандартних типів має розгалужену, ієрархічну структуру.
Первинними в ієрархії є прості типи. Такі типи присутні в більшості мов програмування і називаються простими, проте в мові Паскаль вони мають більш складну структуру.
Структуровані типи будуються за певними правилами з простих типів.
Процедурні типи є нововведенням мови Turbo Pascal, і вони дозволяють звертатися до підпрограм, як до змінних.
Об'єкти є також нововведенням, і вони призначені для використання мови, як об'єктно-орієнтованої мови.
Цілі типи
У мові Паскаль цілі типи бувають 5 видів. Кожен з них характеризує діапазон прийнятих значень і займаним місцем їх в пам'яті.
При використанні цілочисельних чисел слід керуватися вкладеністю типів, тобто типи з меншим діапазоном можуть бути вкладені в типи з великим діапазоном. Тип Byte може бути вкладений в усі типи займають 2 і 4 байта. У той же час тип Short Int, який займає 1 байт не може бути вкладений в тип Word, оскільки не має негативних значень.
речові типи
Можна виділити 5 речових типів:
У комп'ютері абсолютно точно представляються цілі типи. На відміну від цілих типів значення речових типів визначає довільне число лише з деякою кінцевою точність, залежить від формату числа. Речові числа представляються в комп'ютері з фіксованою або з плаваючою крапкою.
Особливе становище в Паскаль займає тип Comp, фактично це велике ціле число зі знаком. Цей тип сумісний з усіма речовими типами і може бути використаний для великого цілого числа. При поданні дійсних чисел з плаваючою комою десяткова точка, завжди мається на увазі перед лівої або старшої мантиссой, але при дії з числом зсувається вліво або вправо.
порядкові типи
Порядкові типи об'єднують в собі декілька простих типів. До них відносяться:
- всі цілі типи;
- символьний тип;
- логічний тип;
- тип-діапазон;
- перераховується тип.
Спільними ознаками для порядкових типів є: кожен з типів має кінцеве число можливих значень; значення цих типів можна певним чином упорядкувати і з кожним числом зіставити деяке число, яке є порядковим номером; сусідні значення порядкових типів відрізняється на одиницю.
До значенням порядкового типу може бути застосована функція ODD (x), яка повертає порядковий номер аргументу x.
Функція PRED (x) - повертає попереднє значення порядкового типу. PRED (A) = 5.
Функція SUCC (x) - повертає таке значення порядкового типу. SUCC (A) = 5.
символьний тип
Значенням символьного типу є 256 символів з безлічі допустимих кодовою таблицею використовуваного комп'ютера. Початкова область цього безлічі, тобто діапазон від 0 до 127 відповідає безлічі кодів ASCII, куди завантажуються символи алфавіту, арабських чисел і спеціальних символів. Символи початкової області завжди присутні на клавіатурі ПК. Старша область називається альтернативної, вона містить символи національних алфавітів і різні спеціальні символи, і символи псевдографіки, що не відповідають коду ASCII.
Значення символьного типу займає один байт в оперативній пам'яті. У програмі значенні полягають в апострофи. Так само значення можна задавати у вигляді його ASCII-коді. У цьому випадку перед числом, що володіє код символу потрібно поставити знак #.
Логічний (булевский) тип
Є два значення булевского типу: Істина (True) та Брехня (False). Змінні даного типу задаються службовим словом BOOLEAN. Значення булевского типу займають один байт в оперативній пам'яті. Значенням Істина і Брехня відповідають числові значення 1 і 0.
Тип-діапазон
Є підмножина свого базового типу в якості, якого може виступати будь-який порядковий тип. Тип-діапазон задається межами всередині базового типу.
Тип-діапазон можна задавати в розділі Type, як певний тип, а можна безпосередньо в розділі Var.
При визначенні тип-діапазону необхідно керуватися:
- ліва межа не повинна перевищувати праву кордон;
- тип-діапазон успадковує всі властивості базового типу, але з обмеженнями, пов'язаними і з його меншою потужністю.
Перераховуються тип
Даний тип відноситься до порядковим типам і задається перерахуванням тих значень, яких він може перераховувати. Кожне значення іменується якимось ідентифікатором і розташовується в списку обрамленим в круглих дужках. Перераховуються тип задається в Type:
Peoples = (men, women);
Перше значення - 0, друге значення - 1 і т.д.
Максимальна потужність 65535 значень.
Строковий тип
Строковий тип відноситься до групи структурованих типів і складається з базового типу Char. Строковий тип не відноситься до порядковим типам. Він визначає безліч символьних ланцюжків довільної довжини до 255 символів.
Вказівка довжини рядка дозволяє компілятору відвести під цю змінну вказане число байтів в ОЗУ. Якщо довжина рядка не вказана, то в цьому випадку компілятор відведе під значення цієї змінної максимальне можливе число байт (255).