Advertisement
Guest User

Untitled

a guest
Mar 29th, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 KB | None | 0 0
  1. domains
  2. treetype = tree(integer, treetype, treetype); empty
  3. predicates
  4. max_n(treetype, integer)
  5. max(integer,integer,integer)
  6. find_tree(treetype,integer,integer)
  7.  
  8. clauses
  9.  
  10. max(M,N,N) :- N>=M, !.
  11. max(M,N,M) :- M>=N, !.
  12. max_n(tree(X,empty,empty),X) :- !.
  13. max_n(tree(X,empty,R),Q) :- max_n(R,N), max(X,N,Q).
  14. max_n(tree(X,L,empty),Q) :- max_n(L,N), max(X,N,Q).
  15. max_n(tree(X,L,R),Q) :- max_n(L,LM), max_n(R,RM), max(RM,LM,QM), max(X,QM,Q).
  16.  
  17. find_tree(tree(N,_,_),N,0):-!.
  18. find_tree(tree(_,L,_),X,K):-
  19. find_tree(L,X,K1),
  20. K=1+K1.
  21. find_tree(tree(_,_,R),X,K):-
  22. find_tree(R,X,K1),
  23. K=1+K1.
  24.  
  25. goal
  26. T=tree(3,tree(4,tree(5,empty,tree(6,empty,tree(1,empty,empty))),tree(7,empty,empty)),tree(8,empty,empty)),
  27. max_n(T,M),
  28. write("Max:", M),nl,
  29. find_tree(T,M,K), write(M, " na ",K," urovne"),nl.
  30.  
  31. database
  32. level ( integer, integer ) /* tree_node_ID, level */
  33.  
  34. predicate
  35. cleanup_level_info.
  36. record_level( integer, integer ).
  37. recorded( integer, integer ).
  38.  
  39. database
  40. tree( integer, integer, integer )
  41.  
  42. /* -1 = empty */
  43. tree( 3, 4, 8 ).
  44. tree( 4, 5, 7 ).
  45. tree( 5, -1, 6 ).
  46. tree( 6, -1, 1 ).
  47. tree( 1, -1, -1 ).
  48. tree( 7, -1, -1 ).
  49. tree( 8, -1, -1 ).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement