[Оглавление] | [<< страница] | [>>страница] |
1.2.Ограниченные типы (диапазоны)
Часто приходится сталкиваться с положением, когда переменной присваивается значение некоторого типа, лежащее только внутри определенного интервала значений. Такое положение можно подчеркнуть, определив, что указанная переменная относится к ограниченному типу (диапазону). Такой тип задается следующим образом:
TYPE T=[min..max],
где min и max выражения, определяющие концы такого диапазона. Необходимо отметить, что операндами этих выражений могут быть только константы, (язык Модула 2).
Примеры:
TYPE year =[1900..1999];
TYPE letter =[`A`..`Z`];
TYPE digit =[`0`..`9`];
Если теперь определить переменные
VAR y: year;
VAR L: letter;
то присваивание y:=1984 и L=:`L` допускаются, а y:=1291 и L=:`9` - нет.
Однако в легальности подобных присваивания можно удостовериться без выполнения программы лишь в тех частях, когда речь идет о присваивании констант. Справедливости же присваивания у := i и L := с, где i — переменная целого типа, с - символьного, транслятор не может определить, если он только просматривает текст. Системы, ведущие такие проверки в процессе выполнения самих программ, оказываются очень ценными для их разработки. Использование трансляторами избыточной информации для выделения возможных ошибок еще раз объясняет стремление применять языки высокого уровня.
[Оглавление] | [<<страница] | [>>страница] | [В начало ] |