Интервальный тип есть далеко не во всех языках программирования. Например, в “великом и могучем” С++ его нет (ну может сейчас появился, не знаю точно). И лично меня это сильно бесило, поскольку начинал я с Паскаля, где этот тип есть. И наличие этого типа - это прям существенное преимущество (с моей точки зрения, во всяком случае). Разумеется, есть этот тип и в наследниках Паскаля: Delphi, Lazarus и др. Интервальный тип задаётся границами своих значений внутри базового типа. Например, внутри типа Byte (диапазон 0…255) вы можете определить свой тип в диапазоне 1..31 и дать ему какое-то имя, а затем использовать этот тип в программе. Также этот тип можно использовать при определении массивов, в конструкциях case и т.п. В этом случае задавать типу какое-то имя необязательно. Объявить тип можно так: type TDaysOfMonth = 1..31; var DayMonth : TDaysOfMonth = 1; И совсем необязательно создавать новый именованный тип с помощью type. Можно просто объявить переменную: var x : 100..200; Пример: Осо