ГОСТ Р И С 0 10303-11 — 2009
Пример — В данном примере определен список массивов. Список может содержать от нуля до
десяти массивов. Каждый массив из десяти целых чисел должен отличаться от других массивов в
данном списке.
complexJist:LIST[0:10] OF UNIQUEARRAY[1:10] OF INTEGER;
8.2.3 Тип данных BAG
Областью определения типа данных BAG являются неупорядоченные совокупности подобных эле
ментов. Необязательные нижняя и верхняя границы, задаваемые выражениями, имеющими целочислен
ные значения, определяют минимальное и максимальное число элементов в совокупности, определенной
типом данных BAG.
Синтаксис;
180 bag_type = BAG [ bound_spec ] OF instantiable_type .
185bound_spec = ’( ’ bound_1bound_2 ’ ]’.
183 bound_1 = numeric_expressk>n.
184 bound_2 = numeric_expressto n .
Правила и ограничения;
a) Выражение boundjl должно иметь целочисленное значение, большее или равное нулю. Оно зада
ет нижнюю границу, определяющую минимальное число элементов, которое может содержаться вэкземп
ляре пакета этого типа данных. Выражение bound_1 недолжно иметь неопределенного (?) значения.
b
) Выражение bound_2 должно иметь целочисленное значение, большее или равное значению
boundjl. либо неопределенное (?) значение. Оно задает верхнюю границу, определяющую максимальное
число элементов, которое может содержаться вэкземпляре пакета этого типа данных. Если значение дан
ного выражения является неопределенным {?). то числоэлементов вэкземпляре пакета этого типа данных
не ограничено сверху.
c) Если элемент bound_spec опущен, то границы пакета определяются как [0:?].
Пример — В данном примере атрибут a_bag_of_points определен как пакет объектов point
(объекты point относятся к именованному типу данных, который объявлен в другом месте).
a_bag_of_points: BAG OF point;
Экземпляр атрибута a_bag_of_points может содержать ни одного или несколько объектов
point. Один и тот же экземпляр объекта point может появиться несколько раз в экземпляре
a_bag_of_points.
Если требуется, чтобы экземпляр атрибута a_bag_of_points содержал, по крайней мере, один
элемент, то в спецификации нижняя граница должна быть определена следующим образом:
a_bag_of_points: BAG [I:?] OF point;
Экземпляр атрибута a_bag_of_points теперь должен содержать, по крайней мере, один объект
point.
8.2.4 Тип данных SET
Областью определения типа данных SET являются неупорядоченные совокупности подобных эле
ментов. Тип данных SET является конкретизацией типа данных BAG. Необязательные нижняя и верхняя
границы, задаваемые выражениями, имеющими целочисленные значения, определяют минимальное и
максимальное число элементов в совокупности, определенной типом данных SET. Определенная типом
данных SET совокупность не должна содержать двух или более одинаковых элементов.
Синтаксис:
303 setjype = SET [ bound_spec ] OF instantiable_type .
185 bound_spec = ’ [’ bound_1 ’ :’ bound_2 ’ ] ’.
183 bound_1 = numeric_expression.
184 bound_2 = numeric_expressk>n.
Правила и ограничения:
a) Выражение boundjl должно иметь целочисленное значение, большее или равное нулю. Оно зада
ет нижнюю границу, определяющую минимальное число элементов, которое может содержаться вэкземп
ляре набора этого типа данных. Выражение boundjl не должно иметь неопределенного (?) значения.
b
) Выражение bound_2 должно иметь целочисленное значение, большее или равное значению
boundjl. либо неопределенное (?) значение. Оно задает верхнюю границу, определяющую макси
мальное число элементов, которое может содержаться в экземпляре набора этого типа данных. Если
19