Тип-диапазон (интервальный тип) есть подмножество своего базового типа, в качестве которого может выступать любой порядковый тип, кроме типа-диапазона.
Тип-диапазон задается границами своих значений внутри базового типа:
<мин.знач.> . . <макс.знач.>
Где: <мин.знач.> - минимальное значение типа-диапазона; <макс.знач.> - максимальное его значение.
Тип-диапазон необязательно описывать в разделе type, а можно указывать непосредственно при объявлении переменной. При объявлении типа-диапазона нужно руководствоваться следующими правилами:
§ два символа . . рассматриваются как один символ, поэтому между ними недопустимы пробелы;
§ левая граница диапазона не должна превышать его правую границу.
Тип-диапазон наследует все свойства своего базового типа, но с ограничениями, связанными с его меньшей мощностью.
В стандартную библиотеку Паскаля включены две функции, поддерживающие работу с типами-диапазонами:
§ high(x) – возвращает максимальное значение типа-диапазона, к которому принадлежит переменная x;
§ low(x) – возвращает минимальное значение типа-диапазона, к которому принадлежит переменная x;
Пример (определение количества дней в квартале не високосного года):
type Month = (Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec); First = Jan..Mar; Second = Apr..Jun; Third = Jul..Sep; Fourth = Oct..Dec; Num. = 1..4; const DayOfMonth : array[Month] of integer = (31,28,31,30,31,30,31,31,30,31,30,31);var i : Month; j : Num.; Sum : integer; begin write('Введите номер квартала'); readln(j); Sum := 0; case j of 1: for i := Low(First) to High(First) do Sum+DayOfMonth[i]; 2: for i := Low(Second) to High(Second) do Sum+DayOfMonth[i]; 3: for i := Low(Third) to High(Third) do Sum+DayOfMonth[i]; 4: for i := Low(Fourth) to High(Fourth) do Sum+DayOfMonth[i]; end; writeln('Сумма дней в квартале: ',Sum);end.
Как было показано в первой лекции, традиционных возможностей файловых систем оказывается недостаточно для построения даже простых информационных систем. Мы выявили несколько потребностей, которые не покрываются возможностями систем управления файлами: поддержание логически согласованного набора файлов; обеспечение языка манипулирования данными; восстановление информации после разного рода сбоев; реально параллельная работа нескольких пользователей. Можно считать, что если прикладная информационная система опирается на некоторую систему управления данными, обладающую этими свойствами, то эта система управления данными является системой управления базами данных (СУБД).