Э.Н. Самохвалов, Ю.Е. Гапанюк
6
tg
i
— элемент учебной цели, принадлежащий объединенному
множеству понятий и отношений между понятиями.
Для таких элементов необходимо решать проблему «сломанных
ссылок».
Эта проблема может возникнуть в случае частично эквивалент-
ных элементов для элементов вида I и полностью эквивалентных —
для элементов вида II, поскольку в таких случаях из двух элементов с
разными id получается один элемент, id которого в соответствии с
алгоритмом равен id первого элемента. Следовательно, возможна си-
туация, когда элемент из второго пособия не будет включен в резуль-
тат, так как он объединен с элементом из первого пособия. При этом
в соответствии с алгоритмом такие частично объединенные элементы
были записаны в множество EQG. Поэтому, если какой-то параметр
является ссылкой на элемент во втором пособии, необходимо прове-
рить, не встречается ли он в множестве EQG, и если встречается, то
заменить его на соответствующий элемент из множества EQG. Таким
образом, все элементы из второго пособия, которые не были включе-
ны в результирующее пособие, будут заменены на соответствующие
элементы результирующего пособия.
Далее детально будут рассмотрены алгоритмы объединения:
для элементов с частичной эквивалентностью;
для элементов модели без частичной эквивалентности;
для ссылочных элементов;
итоговый алгоритм объединения.
Описание алгоритма
(рис.1).
Блок 1. Входными параметрами алгоритма являются: множества
элементов для объединения из первого и второго пособия, логическая
переменная флаг_назв (определяет, нужно ли считать эквивалентны-
ми элементы с одинаковыми названиями), множества эквивалентных
элементов EQ и EQG.
Блок 2. По умолчанию в результат включаются элементы из пер-
вого пособия.
Блок 3. В цикле осуществляется перебор всех элементов, принад-
лежащих множеству «Пособие2.Множество». Цикл завершается в
блоке 14.
Блок 4. Поиск элемента «элемент1» в первом пособии, для кото-
рого
элемент.id = элемент1.id
и
элемент.eid = эле-
мент1.eid
, т. е. «элемент1» полностью эквивалентен текущему эле-
менту.
Если такой элемент найден, то текущий элемент не нужно вклю-
чать в результирующее пособие, так как туда уже включен полно-
стью эквивалентный «элемент1». Переход к следующей итерации
цикла: к блоку 14.