Advertisement
Guest User

ivanov5

a guest
Mar 20th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.13 KB | None | 0 0
  1. % 1
  2. имя(витя).
  3. имя(юра).
  4. имя(миша).
  5. место(слева).
  6. место(посередине).
  7. место(справа).
  8. левее(P1, P2) :- место(P1), место(P2),
  9. (P1 = слева, P2 = посередине;
  10. P1 = слева, P2 = справа;
  11. P1 = посередине, P2 = справа).
  12. решение1(N1, P1, N2, P2, N3, P3) :-
  13. N1 = витя, левее(P1, P3),
  14. N2 = юра,
  15. N3 = миша, левее(P3, P2),
  16. P1 \== P2, P2 \== P3, P3 \== P1.
  17.  
  18. % решение1(N1, P1, N2, P2, N3, P3).
  19.  
  20. %3
  21. дерево(тополь).
  22. дерево(берёза).
  23. дерево(липа).
  24. дерево(клён).
  25. дерево(сосна).
  26. дерево(ель).
  27.  
  28. место1(1).
  29. место1(2).
  30. место1(3).
  31. место1(4).
  32. место1(5).
  33. место1(6).
  34.  
  35. comp(X, Y):-дерево(X), X = тополь, место1(Y).
  36. comp(X, Y):-дерево(X), X = берёза, место1(Y).
  37. comp(X, Y):-дерево(X), X = липа, место1(Y).
  38. comp(X, Y):-дерево(X), X = клён, место1(Y).
  39. comp(X, Y):-дерево(X), X = сосна, место1(Y).
  40. comp(X, Y):-дерево(X), X = ель, место1(Y).
  41.  
  42. решение2(X1, Y1, X2, Y2, X3, Y3, X4, Y4, X5, Y5, X6, Y6):-
  43. X1 = тополь, comp(X1, Y1),
  44. X2 = берёза, comp(X2, Y2),
  45. X3 = липа, comp(X3, Y3),
  46. X4 = клён, comp(X4, Y4),
  47. X5 = сосна, comp(X5, Y5),
  48. X6 = ель, comp(X6, Y6),
  49. Y1 < Y2, Y2 < Y3, Y4 > Y3, Y5 < Y1, Y5 > Y6.
  50.  
  51. % решение2(X1, Y1, X2, Y2, X3, Y3, X4, Y4, X5, Y5, X6, Y6).
  52.  
  53. % 3
  54. имя1(петя).
  55. имя1(лена).
  56. имя1(таня).
  57. животное(собака).
  58. животное(кошка).
  59. животное(хомяк).
  60. соответствие(N, A) :- имя1(N), N = петя, животное(A), not(A=кошка), not(A=хомяк).
  61. соответствие(N, A) :- имя1(N), N = лена, животное(A).
  62. соответствие(N, A) :- имя1(N), N = таня, животное(A), A=кошка.
  63. решение3(N1, A1, N2, A2, N3, A3) :-
  64. N1 = петя, соответствие(N1, A1),
  65. N2 = лена, соответствие(N2, A2),
  66. N3 = таня, соответствие(N3, A3),
  67. A1 \== A2, A2 \== A3, A1 \== A3.
  68.  
  69. % решение3(N1, A1, N2, A2, N3, A3).
  70.  
  71. % 4
  72. имя2(белокуров).
  73. имя2(рыжов).
  74. имя2(чернов).
  75. цвет(блондин).
  76. цвет(брюнет).
  77. цвет(рыжий).
  78. соответствие1(N, C) :- имя2(N), N = белокуров, цвет(C), not(C = блондин), not(C = брюнет).
  79. соответствие1(N, C) :- имя2(N), N = чернов, цвет(C), not(C = брюнет).
  80. соответствие1(N, C) :- имя2(N), N = рыжов, цвет(C), not(C = рыжий).
  81. решение4(N1, C1, N2, C2, N3, C3):-
  82. N1 = белокуров, соответствие1(N1, C1),
  83. N2 = рыжов, соответствие1(N2, C2),
  84. N3 = чернов, соответствие1(N3, C3),
  85. C1 \== C2, C2 \== C3, C1 \== C3.
  86.  
  87. % решение4(N1, C1, N2, C2, N3, C3).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement