Пояснения

 

Понятие «константа» выражает поименованное значение некоторого типа данных языка EXPRESS, которое нельзя изменить. Базовым типом константы может быть простой тип, агрегированный тип или поименованный тип. Константы используются для повышения наглядности информационной модели, а также для упрощения управления этой моделью. Например, максимальную длину строковых типов, присутствующих в информационной модели, можно задать константой «max_length», присвоив ей значение «10». В таком случае, при объявлении строковых типов их максимальную длину можно задавать не числом «10», а константой «max_length», что повышает наглядность. Кроме того, если вдруг потребуется изменить максимальную длину строковых типов, достаточно изменить объявление константы, а не объявления каждого типа в отдельности.

Константы могут быть заданы в рамках схемы, глобального правила, функции или процедуры. При этом все константы данного строительного блока объявляются в единой конструкции CONSTANT. Любое употребление имени константы в рамках строительного блока, в котором она объявлена, эквивалентно употреблению значения константы.

Структура объявления констант начинается с ключевого слова CONSTANT и завершается ключевым словом END_CONSTANT. Между этими ключевыми словами располагаются объявления отдельных констант. Каждое объявление отдельной константы содержит имя константы, ее базовый тип и значение базового типа в явном виде или в виде выражения, которое после своего вычисления должно дать значение базового типа.

На примере показана структура, содержащая объявления трех констант, имеющих соответственно простой, агрегированный и поименованный тип в качестве базового. Константа простого типа «int_val» имеет в качестве базового типа целочисленный тип INTEGER и явно указанное значение «100». Константа агрегированного типа «int_array» имеет в качестве базового типа массив из трех элементов типа INTEGER, а в качестве своего значения – экземпляр агрегированного типа, причем третий элемент массива задан в виде выражения, содержащего уже объявленную константу «int_val». Наконец, третья константа имеет поименованный тип «point» (предположим, что сущность с таким именем, имеющая три вещественных атрибута, объявлена где-то в другом месте), а значение константы представляет собой экземпляр сущности.


Слайд 41. Определяемый тип (TYPE)