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}

Більшість реалізацій мови Паскаль насправді не контролюють значення інтервальних змінних, так що інтервал є синонімом базового типу і радше вказівкою для програміста, аніж реальним інструментом мови; через це інтервальні змінні рідко використовують.

Перетворення типів[ред.]