Руководство по языку B.Pascal 7

         

Отрезки типа


Отрезок типа представляет собой диапазон значений из поряд- кового типа, называемого главным типом. Определение отрезка типа включает наименьшее и наибольшее значение в поддиапазоне. Оно имеет следующий синтаксис:

отрезок ------------ ----- ------------ типа ----------->¦ константа +--->¦ .. +--->¦ константа +---> L------------ L----- L------------

Обе константы должны иметь один и тот же порядковый тип. От- резки типов, имеющие вид a..b, предполагают, что a меньше или равно b.

Приведем примеры отрезков типов:

0..99 -128..127 club..heart

Переменная отрезка типа имеет все свойства переменных глав- ного типа, однако ее значение на этапе выполнения должно принад- лежать указанному интервалу.

Разрешение использования выражений-констант там, где стан- дартный Паскаль допускает только простые константы, приводит к некоторой синтаксической неоднозначности. Рассмотрим следующие описания:

const X = 50; Y = 10; type Color = (Red, Green, Blue); Scale = (X - Y) * 2..(X + Y) * 2;

Согласно синтаксису стандартного Паскаля, если определение типа начинается с круглой скобки, то это перечислимый тип (такой как Color в данном примере). Однако Scale предназначен для опре- деления отрезка типа. Решение состоит в том, чтобы переупорядо- чить первое выражение поддиапазона или задать другую константу, равную значению данного выражения, и использовать эту константу в определении типа:

type Scale = 2 * (X - Y)..(X + Y);



Содержание раздела