ГОСТ Р ИСО 13584-31—2010
-- initializes the assigned_groups
assigr.ed_groupslocal_assigned_groups;
-- Determine that the subset has elements.
IF SIZEOF(local_assigned_groups) > 0 THEN
-- compute all the assigned api_group of the bag.
REPEAT i1 TO HIINDEX(local_assigned_groups);
assigned_groupsas3igned_groups +
assigr.ed_api_group(local_assigned_groups[i]);
END_REPEAT;
END_IF;
RETURN (assigned_groups);
END_FUNC TION;
Г "
6.3.4.2 Функция tree_api_set_structure
Функция tree_api_set_structure устанавливает факт структуризации сущности api_set (корнем ко
торой является аргумент sef) в виде дерева с помощью соотношения api_set_assignment.
Функция возвращает значение «true», если ни одна из структур api_set (назначенных аргументом
set) не назначается дважды, прямо или косвенно, в противном случае функция возвращает значение
«false».
Функция tree_api_set_structure вызывает функцию assigned_api_sot, которая рекурсивно вычисля
ет значение сущности api_set, назначенной для аргумента the_sot.
Спецификация на языке EXPRESS:
*>
FUNCTION tree_api_set_structure(theset :apiset) : BOOLEAN;
LOCAL
i : INTEGER;
j : INTEGER;
assigned_set : BAG f1;?] OF api_set;
END_LOCAL;
-- Determine the bag of the api_sets that are assigned to the set
— argument .
assigned_setassigned_api_set(the_set>;
— Determine that the bag has elements.
IF SlZEOF(assigned_set) > 0 THEN
— Check each element of the bag against each element.
REPEAT i1 TO H11NDEX(assigned_set);
REPEAT j1 TO HIINDEX(assignea_set);
-- If the two elements are the same
— return false.
IF <(assigr.ed_set[i)assigned_set•j]) AND (i<> j)) THEN
RETURN (FALSE);
END_IF;
END_REPEAT;
END REPEAT;
END_1F;
-- Return true when all elements are checked and
— no error conditions found.
RETURN (TRUE);
END_FUNCTION;
(A “
6.3.4.2.1 Функция assigned_api_set
Функция assigned_api_set используется функцией tree_api_sot_structure для рекурсивного вычис
ления значений сущности api_set, назначенной для аргумента the_set.
109