ГОСТ Р ИСО 10303-21—2022
TYPE Estimated_Mass = REAL;
END_TYPE;
TYPE Mass_Substitute = SELECT(Weight, Estimated_Mass);
END_TYPE;
TYPE Weight = REAL;
END_TYPE;
TYPE Extended_Real = SELECT (FloatingNumber, NotaNumber);
END_TYPE;
TYPE FloatingNumber = REAL(7);
END_TYPE;
TYPE NotaNumber = ENUMERATION OF (plusjnfinity,
minusjnfinity, indeterminate, invalid);
END_TYPE;
ENTITY Steel_Bar;
barjength: Extended_Real;
bar_mass: Mass;
END_ENTITY;
Образец экземпляра объекта в секции данных:
#1 = STEEL_BAR(FLOATINGNUMBER(77.0), MEASURED_MASS(13.25));
#2 = STEEL_BAR(NOTANUMBER(. INDETERMINATE.),
ESTIMATED_MASS(10.0));
#3 = STEEL_BAR(FLOATINGNUMBER(77.0),
COMPUTED_MASS(FLOATINGNUMBER(14.77719)));
Первый атрибут экземпляра #1 представляет значение Extended_Real, которое является
FloatingNumber. Оно отображается (согласно 12.1.8 для выбираемого типа данных Extended_Real) как
TYPED_PARAMETER с KEYWORD FLOATINGNUMBER (простой определяемый тип в списке выбора).
Значение 77.0 PARAMETER отображается в структуру обмена, согласно 12.1.6 для FloatingNumber, как
значение простого типа REAL.
Второй атрибут экземпляра #1 представляет значение Measured_Mass, которое является пра
вильным значением Mass_Spec и поэтому также правильным значением Mass. Оно отображается (по
средством рекурсивного применения 12.1.8, поскольку Mass является выбираемым типом данных, и
Mass_Spec — выбираемым типом данных) как TYPED_PARAMETER с KEYWORD MEASURED-MASS
(простой определяемый тип в списке выбора). Значение 13.25 PARAMETER отображается в структуру
обмена, согласно 12.1.6 для Measured_Mass как значение простого типа REAL.
Первый атрибут экземпляра #2 представляет значение Extended-Real, являющееся значени
ем NotaNumber. Оно отображается (согласно 12.1.8 для Extended-Real) как TYPED.PARAMETER с
KEYWORD NOTANUMBER (перечисляемый тип в списке выбора). Значение "indeterminate" PARAMETER
отображается в структуру обмена согласно 12.1.7 как перечисляемый тип NotaNumber.
Второй атрибут экземпляра #2 представляет значение Estimated_Mass. Оно является правильным
значением Mass_Spec, а также правильным значением Mass_Subsitute и поэтому правильным значени ем
Mass. Это значение фактически представлено двумя (выбираемыми) типами в списке выбора Mass. Оно
отображается (посредством рекурсивного применения 12.1.8, поскольку Mass является выбирае мым
типом данных, a Mass_Spec — выбираемым типом данных) как TYPED_PARAMETER с KEYWORD
ESTIMATED_MASS (простой определяемый тип в списке-выбора). Значение 10.0 PARAMETER отобра
жается в структуру обмена, согласно 12.1.6 для Estimated_Mass, как значение простого типа REAL.
Первый атрибут экземпляра #3 тот же, что и первый атрибут экземпляра #1.
Второй атрибут экземпляра #3 представляет значение Computed_Mass, которое является пра
вильным значением Mass_Spec и поэтому правильным значением Mass. Оно отображается (по
средством рекурсивного применения 12.1.8, поскольку Mass является выбираемым типом данных, и
Mass_Spec — выбираемым типом данных) как TYPED_PARAMETER с KEYWORD COMPUTED_MASS
41