Для переменной скалярного (перечисляемого) типа можно указать некоторое подмножество значений, которые может принимать данная переменная.
Общий вид:
a: min..max;
здесь a
– интервальная переменная, min
– левая граница, max
– правая граница подмножества (диапазона). Границы диапазона разделяются двумя точками; граница min
всегда должна быть меньше max
.
Константы min
и max
должны принадлежать одному и тому же типу. Они определяют базовый тип переменной a
. Так, если границы являются целыми числами типа integer, то под переменную a
будет выделен такой же объем памяти, что и под тип integer. Однако переменная a
сможет принимать только те значения, которые определены границами ее диапазона.
Примеры
Пусть переменная k
должна принимать значения из множества -1000..1000. Тогда ее следует объявить как k: -1000..1000
. При этом базовым типом переменной k
является тип integer, т.к. границами диапазона являются целые константы -1000 и 1000.
Если переменная b
может принимать одно из значений red, yellow, green, то эту переменную можно описать так: b: red..green
; базовым типом для b
является тип color:
type color=(red,yellow,green,blue);
var b:red..green;
begin
b:=red;
writeln(b);
b:=yellow;
writeln(b);
b:=green;
writeln(b);
readln
end.
Пусть i
– переменная, принимающая значения года рождения сотрудника какого-либо учреждения. Имеет смысл ограничить диапазон значений i
подмножеством, т.е. описать примерно так: i: 1930…2000
.