Pascal/Елементарні типи даних
Ми вже ознайомилися з кількома стандартними типами даних. Тут детально розбираються властивості різних типів даних і додаються нові.
Синоніми
ред.Для кожного типу даних можна визначити його синонім - іншу назву. Для цього треба проголосити новий тип в розділі type:
type dovzhina = real;
masa = real;
litera = char;
Це дозволяє краще впорядковувати змінні, якщо їхні типи суттєво різняться за змістом, але не за способом роботи (як в наведеному прикладі). Всі синонімічні типи повністю сумісні, тобто цілком коректно буде, скажімо, множити змінну типу довжина на змінну типу маса (але, на відміну від фізики, також коректно буде і додавати їх).
Злічені типи
ред.До злічених типів відносяться всі типи, для яких можна визначити попередній і наступний елемент, а саме цілі типи, літерні типи, булівський тип і переліки. Переліки проголошуються як взяті в дужки списки ідентифікаторів, кожен з яких уособлює певне значення переліку, наприклад
type KolirSvitlofora=(Chervony,Zhovty,Zeleny);
var Perekhrestya:KolirSvitlofora;
...
Perekhrestya:=Zhovty;{"увімкнути" жовте світло на перехресті}
В наведеному прикладі можна було не проголошувати окремого типу KolirSvitlofora, а одразу оголосити змінну
var Perekhrestya:(Chervony,Zhovty,Zeleny);
але це вважається дурним тоном в програмуванні.
Дуже важливою властивістю злічених типів є те, що до них можна застосовувати ряд особливих функцій, а також змінні зліченого типу можуть бути лічильниками в циклах for і індексами в масивах.
Інтервали
ред.Інтервалом зветься злічений тип із визначеним мінімальним і максимальним елементом:
type Month=(Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec);
var SummerMonth:Jun..Aug;{Літній місяць - від червня до серпня}
Day:1..31;{день може бути тільки від 1 до 31}
Більшість реалізацій мови Паскаль насправді не контролюють значення інтервальних змінних, так що інтервал є синонімом базового типу і радше вказівкою для програміста, аніж реальним інструментом мови; через це інтервальні змінні рідко використовують.