ГОСТ Р ИСО 13584-42—2012
Пример представления на языке EXPRESS:
*)
FUNCTION is_subclass(sub. super: class): LOGICAL;
IF (NOT EXISTS(sub)) OR (NOT EXISTS(super)) THEN
RETURN(UNKNOWN);
ENDJF;
IF sub = super
THEN
RETURN(TRUE):
ENDJF;
IF NOT EXISTS(sub.its_superclass)
THEN
(* end of chain reached, didn’t meet super so far*)
RETURN(FALSE):
ENDJF;
IF SIZEOF(sub.its_superclass.definition) = 1
THEN
(* definition available*)
IF (sub.its_superclass.definition{1] = super)
THEN
RETURNfTRUE);
ELSE
RETURN(is_subclass(sub.its_superclass.definition[1]. super));
ENDJF:
ELSE
RETURN(UNKNOVVN);
ENDJF;
ENDJUNCTION; — is_subciass
(*
F.3.10.6 Функция строчного представления производной единицы измерения (StringJor_derived_unit)
Функция stringJor_derived_unit возвращает строчное представление производной единицы измерения de-
rived_unit (в соответствии с ИСО 10303-41). рассматриваемой как параметр. Элементы производной единицы
измерения отличаются по знаку показателя степени. Если существуют элементы обоих знаков, то обозначение У
используется для отделения положительных значений от отрицательных. Если имеются только отрицательные по
казатели степени, то используется обозначение яи-е». Точка 7 (десятичный код №46 в соответствии с ИСО/МЭК
8859-1, см. раздел ИСО 10303-21) используется для отделения индивидуальных элементов.
Пример представления на языке EXPRESS:
*)
FUNCTION stringJor_derived_unit(u: derived_unit): STRING;
FUNCTION stringJor_derived_unit_element{
u: derived_unit_element; neg_exp: BOOLEAN
(* print negative exponents with power -1*)): STRING;
{* returns a STRING representation of the
derived_unit_element (according to ISO 10303-41)
passed as parameter*)
LOCAL
result: STRING:
ENDJ.OCAL;
result:= stringJor_named_unit(u.unit);
IF (u.exponent <> 0)
THEN
IF (u.exponent > 0) OR NOT neg_exp
THEN
results result ♦ + FORMAT(
ABS(u.exponent). ’2I’)[2J;
ELSE
results result + "*’ + FORMAT(u.exponent. ’2Г)[2];
ENDJF:
ENDJF;
RETURN(result):
END_FUNCTION; — stringJor_derived_unit_element
116