Iнтервальний тип

 

ЛОГІЧНА СТРУКТУРА. Один із способів утворення нових типів із вже існуючих – обмеження припустимого діапазону значень деякого стандартного скалярного типу або границь описаного раніше перераховного типу. Це обмеження визначається заданням мінімального та максимального значень діапазону. При цьому змінюється діапазон припустимих значень стосовно базового типу, але представлення в пам'яті цілком відповідає базовому типу.

МАШИННЕ ПРЕДСТАВЛЕННЯ. Дані інтервального типу можуть зберігатися в залежності від верхньої та нижньої границь інтервалу незалежно від вхідної в цю межу кількості значень у вигляді, представленому в таблиці 2.6.

Для даних інтервального типу потрібна пам'ять розміром один, два або чотири байти. Наприклад,

var A: 220..250; (* Займає 1 байт *)

В: 2221..2226; (* Займає 2 байти *)

C: 'A'..'K'; (* Займає 1 байт *)

begіn

A:=240; C:='C'; B:=2222;

end.

Після виконання даної програми вміст пам'яті буде наступним:

A – 11110000; C – 01000011; B – 10101110 00001000.

Таблиця 2.6

Розмір необхідної пам'яті для інтервального типу

Базовий тип Діапазон значень Розмір, байт
Shortint Integer Longint Byte Word Char Boolean Перераховний – 128 … 127 – 32768 … 32767 – 2147483648 … 2147483647 0 … 255 0 … 65535 chr(ord(0)) … chr(ord(255)) false … true

Примітка: запис chr(ord(0)) у таблиці варто розуміти як: символ з кодом 0.

ОПЕРАЦІЇ На фізичному рівні над змінними інтервального типу визначені всі базові операції (створення, видалення, вибору, відновлення) та додаткові операції, що визначені базовим типом елементів інтервального типу.