Advertisement
Guest User

Untitled

a guest
Jan 19th, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 2.56 KB | None | 0 0
  1. % Copyright
  2.  
  3. %1
  4.  
  5. %implement main
  6. %    open core, console
  7. %
  8. %class predicates
  9. %
  10. %    пересечение : (integer*, integer*, integer* [out]).
  11. %    входит : (integer, integer*) nondeterm.
  12. %
  13. %clauses
  14. %    пересечение([], _, []) :-
  15. %        !.
  16. %    пересечение([Elem | A], B, [Elem | Res]) :-
  17. %        входит(Elem, B),
  18. %        !,
  19. %        пересечение(A, B, Res).
  20. %    пересечение([_ | A], B, Res) :-
  21. %        !,
  22. %        пересечение(A, B, Res).
  23. %    входит(Elem1, [Elem1 | _]).
  24. %
  25. %    входит(Elem1, [_ | List]) :-
  26. %        входит(Elem1, List).
  27. %    run() :-
  28. %        пересечение([1, 2, 3, 4, 5], [3, 4, 5, 6, 7], Res),
  29. %        write(Res),
  30. %        _ = readChar().
  31. %
  32. %end implement main
  33. %
  34. %goal
  35. %    console::runUtf8(main::run).
  36.  
  37. % 2
  38.  
  39. %implement main
  40. %    open core, console
  41. %
  42. %class predicates
  43. %
  44. %объединение : (integer*, integer*, integer*[out]).
  45. %не_входит : (integer, integer*) nondeterm.
  46. %
  47. %clauses
  48. %объединение([],B,B).
  49. %объединение([Elem|A],B, Res) :- не_входит(Elem, B),!, объединение(A,[Elem|B],Res).
  50. %объединение([_|A], B,Res) :- !, объединение(A,B,Res).
  51. %
  52. %не_входит(_,[]).
  53. %не_входит(Elem, [Elem2|List]) :- Elem <> Elem2, !, не_входит(Elem, List).
  54. %
  55. %    run() :-
  56. %        объединение([1,2,3,4,5], [3,4,5,6,7], Res), write(Res), _=readChar().
  57. %end implement main
  58. %
  59. %goal
  60. %    console::runUtf8(main::run).
  61.  
  62. % 3
  63.  
  64. %implement main
  65. %    open core, console
  66. %
  67. %class predicates
  68. %
  69. %разность : (integer*, integer*, integer*[out]).
  70. %не_входит : (integer, integer*) nondeterm.
  71. %
  72. %clauses
  73. %разность([],_,[]).
  74. %разность([Elem|A],B,[Elem|Res]) :- не_входит(Elem, B), !, разность(A, B, Res).
  75. %разность([_|A], B, Res) :- !, разность(A,B,Res).
  76. %
  77. %не_входит(_,[]).
  78. %не_входит(Elem, [Elem2|List]) :- Elem <> Elem2, !, не_входит(Elem, List).
  79. %
  80. %    run() :-
  81. %        разность([1,2,3,4,5], [3,4,5,6,7], Res), write(Res), _=readChar().
  82. %end implement main
  83. %
  84. %goal
  85. %    console::runUtf8(main::run).
  86.  
  87. %4
  88.  
  89. implement main
  90.     open core, console
  91.  
  92. class predicates
  93.  
  94. union : (integer*, integer*, integer *[out]).
  95.  
  96. clauses
  97. union([],B,B).
  98. union([Elem|A], B, Res) :- !, union(A, [Elem|B], Res).
  99.  
  100.     run() :- union([1,2,3],[4,5,6],Res), write(Res), _=readChar().
  101.  
  102. end implement main
  103.  
  104. goal
  105.     console::runUtf8(main::run).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement