G
GMisha
Задача: в указанном ярусе дерева добавить вершину с указанной меткой.
Нужно сделать:
1. Прописать еще один новый предикат "добавление элемента к дереву".
2. Добавить к нему рекурсию с числом итераций равному номеру яруса, то есть типа: %(дерево, метка, ярус)%.
3. Поставить счетчик чтобы рекурсия прекращалась, когда счетчик станет равным Н.
Помогите теперь эти пункты прописать в программе которая ниже... пожалуйста!!!
***
DOMAINS
tree=tr(integer,tree,tree);e
PREDICATES
der(integer,integer,tree,tree) %(ярус,метка,исходное_дерево,результат)%
CLAUSES
der(1,M,T,tr(M,T,e)):-!.
der(I,M,tr(X,L,R),tr(X,D,R)):-J=I-1,der(J,M,L,D),!.
der(I,M,tr(X,L,R),tr(X,L,D)):-J=I-1,der(J,M,R,D).
***
Нужно сделать:
1. Прописать еще один новый предикат "добавление элемента к дереву".
2. Добавить к нему рекурсию с числом итераций равному номеру яруса, то есть типа: %(дерево, метка, ярус)%.
3. Поставить счетчик чтобы рекурсия прекращалась, когда счетчик станет равным Н.
Помогите теперь эти пункты прописать в программе которая ниже... пожалуйста!!!
***
DOMAINS
tree=tr(integer,tree,tree);e
PREDICATES
der(integer,integer,tree,tree) %(ярус,метка,исходное_дерево,результат)%
CLAUSES
der(1,M,T,tr(M,T,e)):-!.
der(I,M,tr(X,L,R),tr(X,D,R)):-J=I-1,der(J,M,L,D),!.
der(I,M,tr(X,L,R),tr(X,L,D)):-J=I-1,der(J,M,R,D).
***