Типи даних можна розділити на наступні групи:
Всі типи даних можна також розділити на стандартні (зумовлені) і призначені для користувача (визначені програмістом).
До стандартних типів відносяться:
Суттєве значення має поняття сумісності типів. яке означає, що типи дорівнюють один одному або один з них може бути автоматично перетворений до іншого.
Текст програми може містити спеціальні команди, звані директивами компілятора і службовці для управління режимами компіляції. Директиви компілятора укладають в фігурні дужки і в їх початку вказують символ $.
Дані простих типів не містять даних інших типів. Змінні цих типів можуть в кожен момент часу мати тільки одне значення. До простих типів даних відносяться:
Всі типи, крім речового, є порядковими. тобто значення змінних кожного з цих типів утворюють впорядковану кінцеву послідовність. Номери сусідніх значень в ній відрізняються на одиницю. Для даних порядкових типів визначені стандартні функції (Low, High, Ord, Pred, Succ) і стандартні процедури (Dec, Inc).
Для порядкових типів програміст може створювати перераховуються та інтервальні т іпи. Ці типи відносяться до призначених для користувача. Їх застосування покращує зовнішній вигляд програми і полегшує пошук помилок.
Символьні типи: значеннями символьного типу є елементи з набору символів, тобто літери. До символьним типами відносяться: Char, AnsiChar, WideChar. Для кодування символів типу AnsiChar використовується код Американського національного інституту стандартів ANSI. Для кодування символів типу WideChar використовується міжнародний набір символів Unicode. що включає більше 60 тис. елементів їм дозволяє кодувати символи національних алфавітів. Перші 256 символів Unicode збігаються з кодом ANSI. Тип Char еквівалентний типу AnsiChar.
Для символів визначені наступні функції: Chr (x): Char - повертає символ з кодом, рівним значенню целочисленного вираження x; UpCase (С): Char - перетворює символ C в символ C верхнього регістру (титульний). У програмах значення даних символьного типу укладають в апострофи ''.
Логіки. Boolean, ByteBool, WordBool, LongBool. У програмах рекомендується використовувати тип Boolean. інші логічні типи введені для сумісності з іншими системами програмування. Дані цього типу можуть приймати два можливих значення True (Істина) і False (Брехня).
Перераховуються типи. задаються безпосередньо перерахуванням всіх значень (імен), які може приймати змінна даного типу. Формат опису перераховується типу:
Type <имя типа> = (<значение_1>, <значение_2>. <значение_ n>);
Приклад. type Gas = (C, O, N); Day = (Mon, Tue, Wed, Thur, Fri, Sat, Sun);
var G1, G2: Gas; Period: Day; Season: (Winter, Spring, Summer, Autumn);
Перевагою перелічуваних типів є те, що вони полегшують контроль значень змінних, тому що змінної не можна привласнити попередньо не перераховані значення. Певним недоліком їх є те, що при введенні і виведенні значень перелічуваних типів можна вказувати імена відповідних змінних в процедурах введення-виведення.
Ітервальние типи. описуються завданням двох констант, що визначають межі (діапазон) допустимих для даних типів значень, тобто інтервал значень. Інтервал можна задати тільки для даних порядкового типу, тобто для будь-якого простого типу, крім речового. Формат опису інтервального типу:
Type <имя типа> = <константа_1>. <константа_2>);
Приклад: type Day 1_31 = 1. 31;
var day1, day2: Day1_31;
Речові типи. Real48, Single, Double, Extended, Comp, Currency.
Спільним є тип Real. який відповідає типу Double.
Дані цих типів займають від 4 до 10 байтів. Запис дійсних чисел можлива в формі з фіксованою десятковою крапкою і в формі з плаваючою крапкою.
Приклади: +12.5, -137.46, 5 e +3 (
До виразами речових типів застосовні функції Round (x) - округлене значення виразу x і Trunc (x) - ціла частина значення виразу x.