Advertisement
candale

P32

Nov 21st, 2013
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. domains
  2. elem=integer
  3. tree_t=tree(elem, tree_t, tree_t); null
  4.  
  5. predicates
  6. sum(tree_t, elem)
  7. create_tree(elem, tree_t)
  8. insert_right(tree_t, tree_t, tree_t)
  9. insert_left(tree_t, tree_t, tree_t)
  10.  
  11. clauses
  12. create_tree(A, tree(A, null, null)).
  13.  
  14. insert_right(T, tree(A,_,B), tree(A, T, B)).
  15. insert_left(T, tree(A,B,_), tree(A,B,T)).
  16.  
  17. sum(null, 0).
  18. sum(tree(E, null, null), E).
  19. sum(tree(E, R, L), Sum) :-
  20. sum(R, Sum1),
  21. sum(L, Sum2),
  22. Sum = Sum1 + Sum2 + E.
  23.  
  24. goal
  25. create_tree(1, T1),
  26. create_tree(2, T2),
  27. create_tree(3, T3),
  28. create_tree(4, T4),
  29. create_tree(5, T5),
  30. create_tree(6, T6),
  31. create_tree(7, T7),
  32. write("Done creating nodes...\n"),
  33.  
  34. insert_left(T4, T2, R1),
  35. insert_right(T5, R1, R2),
  36. insert_left(T6, T3, R3),
  37. insert_right(T7, R3, R4),
  38. insert_left(R2, T1, R5),
  39. insert_right(R3, R5, Root),
  40. write("Done creating tree\n"),
  41. sum(Root, Sum),
  42. write(Sum).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement