Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- domains
- elem=integer
- tree_t=tree(elem, tree_t, tree_t); null
- predicates
- sum(tree_t, elem)
- create_tree(elem, tree_t)
- insert_right(tree_t, tree_t, tree_t)
- insert_left(tree_t, tree_t, tree_t)
- clauses
- create_tree(A, tree(A, null, null)).
- insert_right(T, tree(A,_,B), tree(A, T, B)).
- insert_left(T, tree(A,B,_), tree(A,B,T)).
- sum(null, 0).
- sum(tree(E, null, null), E).
- sum(tree(E, R, L), Sum) :-
- sum(R, Sum1),
- sum(L, Sum2),
- Sum = Sum1 + Sum2 + E.
- goal
- create_tree(1, T1),
- create_tree(2, T2),
- create_tree(3, T3),
- create_tree(4, T4),
- create_tree(5, T5),
- create_tree(6, T6),
- create_tree(7, T7),
- write("Done creating nodes...\n"),
- insert_left(T4, T2, R1),
- insert_right(T5, R1, R2),
- insert_left(T6, T3, R3),
- insert_right(T7, R3, R4),
- insert_left(R2, T1, R5),
- insert_right(R3, R5, Root),
- write("Done creating tree\n"),
- sum(Root, Sum),
- write(Sum).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement