Самостійне вивчення
Діапазонний тип
Часто в програмі трапляються змінні, для яких наперед відомо, з якого інтервалу вони можуть набувати значення. Наприклад, нехай d- поточна дата (число деякого місяця). Зрозуміло, що d може набувати цілочислового значення з інтервалу [1, 31], тобто її можна віднести до типу integer. Однак може статися, що в програмі цій змінній буде присвоєне значення, що виходить за межі заданого інтервалу. Щоб контролювати ситуацію й уникати таких помилок, у мові Паскаль введено діапазонний тип, що передбачає визначення діапазону значень іншого попередньо заданого типу, який є базовим. Базовими можуть бути типи цілий, символьний і перелічуваний, однак не дійсний. Загальний вигляд описання діапазону такий:
<стала>..<стала> Наведемо приклади:
type
index=1..20 {діапазон типу integer}
letter='a'..'z' {діапазон типу char}
тоді змінні опишемо так:
var
і, j: index;
sym: letter;
Як і для перелічуваного типу, опис змінних можна сумістити з описом типу:
var
i, j: 1..20;
sym: 'a'..'z';
Однак ліпше їх розділяти.
Усі операції, які виконують зі змінними базового типу, можна застосовувати до відповідного діапазону:
j+i*2
rd<dn
pred(sym)<>'d'
Функції базового типу можна виконувати з діапазоном. Значення функції необов'язково належатиме до діапазону. Наприклад: sqr(i) не можуть належати до діапазону index (якщо, звичайно, це значення не присвоєно змінній типу index, наприклад j).
Застосування діапазонного типу дає змогу поліпшити наочність програми, а також передає інформацію компіляторові для перевірки правильності програми, тобто перевірки діапазону значень змінних.