Объектно-ориентированный подход в программировании. Проектирование и реализация приложений в среде Microsof Office. Евсеева О.Н. - 134 стр.

UptoLike

Составители: 

2.8. Пример разработки приложения 135
135
AddLinkдобавить связь;
inChartесть в матрице pertChart (в матрице сетевого графика);
insertRowsвставить строку.
Приведенный ниже псевдокод описывает проект процедуры
chartSuccessors более подробно. Процедура chartSuccessors
вызывается рекурсивно, один раз для каждого столбца сетевого графика.
Алгоритм предполагает, что в диаграмме нет циклов. Т. е. ни один этап не
может быть наследником самого себя ни непосредственно, ни через другие
этапы. Комментарии заключены в скобки.
Входные данные:
PPtoken (указатель шаблона проекта в базе данных)
NextSteps (массив указателей этапов)
NextStepsCnt (Целое число этапов в NextSteps)
column (текущий номер столбца)
FOREACH (для каждого) этапа из NextSteps
INCREMENT строка
CALL getSuccessors для этапа (найти всех наследников для этапа)
FOREACH (для каждого) наследника этапа
CALL getPredecessors для наследника этапа (найти всех
предшественников)
FOREACH (для каждого)предшественника SuccessorStep
(Проверить предшественников наследника на размещение в матрице)
IF SuccessorStep NOT EQUAL TO Этапу THEN (если
предшественник не текущий этап для добавления в матрицу)
IF PredecessorStep не найден в матрице
PertChart THEN (и если он не найден в матрице узлов)
CALL addPendingLink этап, строка, столбец (то
задержать размещение наследника, так как не все его
предшественники размещены, путем добавление этого
наследника в массив отложенных связей)
ENDIF
ENDIF
ENDFOREACH
IF ALL PredecessorSteps находятся в массиве
PertChart THEN (если все предшественники есть в массиве
узлов, то добавить наследника в текущий столбец)
IF SuccessorStep найден в массиве PertChart THEN
ADD SuccessorStep в массив AddInThisColuinn
ELSE (этот наследник уже помещен, добавить связь)
CALL AddLink строка, столбец, строка с
найденным SuccessorStep, колонка+1