ГОСТ Р И С 0 10303-11 — 2009
Адресация к частям последовательности битов и отдельным битам может осуществляться посред
ством подстрочных индексов, как описано в 12.3.
Правило: значением выражения width должно быть положительное целое число.
Пример — Данный фрагмент может быть использован для хранения информации о шрифте
символов:
ENTITY character:
representation : ARRAY [1:20] OF BINARY (8) FIXED;
END.ENTTTY:
8.2 Агрегированные типы данных
Областями определения агрегированных типов данных являются совокупности значений заданного
базисного типа данных (см. 8.6.1). Эти значения базисного типа данных называются элементами агрегиро
ванной совокупности. В языке EXPRESS определены четыре вида агрегированных типовданных: ARRAY
(массив), LIST (список). BAG (пакет) и SET (набор). Значения кахщого вида агрегированного типа данных
имеют разные свойства. ТипданныхAGGREGATE является обобщением этих четырех видов агрегирован
ных типов данных (см. 9.5.3.1).
Тип данных ARRAY представляет упорядоченное множество фиксированного размера, индексиро
ванное последовательностью целых чисел.
Пример — Матрица преобразования (в геометрии) может быть определена как массив массивов
(чисел).
Тип данных LIST представляет последовательность элементов, доступ к которым осуществляется по
их позициям. Число элементов в списке может изменяться и быть ограничено вопределении типа данных.
Пример — Операции технологического маршрута могут быть представлены списком. Операции
упорядочены и могут быть добавлены или удалены из технологического маршрута.
Тип данных BAG представляет неупорядоченное множество, в котором разрешены повторяющиеся
элементы. Число элементов в пакете может изменяться и быть ограничено в определении типа данных.
Пример— Совокупность крепежных деталей, используемых при сборке, может быть представле
но пакетом. В состав его элементов может входить некоторое число одинаковых болтов, но неважно,
который из них используется в конкретном отверстии.
Тип данных SET представляет неупорядоченное множество элементов, в котором нет двух
одинаковых элементов. Число элементов в наборе может изменяться и быть ограничено в определении
типа данных.
Пример— Множестволюдей во всем мире является набором.
П р и м е ч а н и е — Агрегированные типы данных в языке EXPRESS являются одномерными. Обьекты,
обычно рассматриваемые как многомерные (например, математические матрицы), могут быть представлены
агрегированным типом данных, базисным типом которого является другой агрегированный тип данных. Таким
образом, агрегированные типы данных могут быть вложенными на произвольную глубину, обеспечивая представ
ление структур данных любой размерности.
Пример — Можно определить структуру LIST [1:3] OF ARRAY [5:10] OF INTEGER, которая в
действительности является двумерной.
8.2.1 Тип данных ARRAY
Областью определения типаданных ARRAY являются индексированные совокупности подобных эле
ментов фиксированного размера. Нижняя и верхняя границы, задаваемые выражениями, имеющими цело
численные значения, определяют диапазон значений индекса и. следовательно, размер массива. В опре
делении типа данных ARRAY может факультативно устанавливаться, что в массиве не могут присутство
вать одинаковые элементы. Кроме того, может бытьустановлено, что элементы массива могут не присут
ствовать на всех индексированных позициях.
Синтаксис:
175 array_type = ARRAY bound_spec OF [ OPTIONAL ] [ UNIQUE ] instantiablejype .
185 bound_spec = ’[’ bound_1 ’I’b o u n d ^ ’]’.
183bound_1 =numeric_expression.
184 bound_2 = numeric_exprossion.
17