Advertisement
Artashes

TaskExpert

Mar 4th, 2019
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 7.28 KB | None | 0 0
  1. :- dynamic верно/2, ложно/2.
  2.  
  3. цель:- машина(Арг),!,
  4. write("Загаданная машина "),writeln(Арг),очистить.
  5. цель:- write("К сожалению, эта машина мне не известно."), очистить.
  6.  
  7. %1
  8. машина("Toyota prado") :- это("японец"),
  9. это("внедорожник"),
  10. свойство("У нее", "кожаный салон"),
  11. свойство("Она", "бизнес класса"),
  12. свойство("У нее", "просторный салон").
  13. %2
  14. машина("Lexus LX") :- это("японец"),
  15. это("внедорожник"),
  16. свойство("У нее", "кожаный салон"),
  17. свойство("Она", "люкс класса").
  18. %3
  19. машина("Lexus LS") :- это("японец"),
  20. это("седан"),
  21. свойство("Она", "люкс класса"),
  22. свойство("У нее", "задний привод"),
  23. свойство("У нее", "кожаный салон").
  24. %4
  25. машина("Toyota corolla") :- это("японец"),
  26. это("седан"),
  27. свойство("У нее", "тканевый салон"),
  28. свойство("Она", "эконом класса"),
  29. свойство("У нее", "передний привод").
  30. %5
  31. машина("BMW 7 series") :- это("немец"),
  32. это("седан"),
  33. свойство("У нее", "кожаный салон"),
  34. свойство("Она", "люкс класса"),
  35. свойство("У нее", "задний привод").
  36. %6
  37. машина("BMW 3 series") :- это("немец"),
  38. это("седан"),
  39. свойство("У нее", "кожаный салон"),
  40. свойство("Она", "бизнес класса"),
  41. свойство("У нее", "передний привод").
  42. %7
  43. машина("BMW X5") :- это("немец"),
  44. это("кроссовер"),
  45. свойство("У нее", "кожаный салон"),
  46. свойство("Она", "люкс класса"),
  47. свойство("У нее", "полный привод").
  48. %8
  49. машина("Lada granta") :- это("отечественный"),
  50. это("лифтбек"),
  51. свойство("У нее", "тканевый салон"),
  52. свойство("Она", "эконом класса"),
  53. свойство("У нее", "передний привод").
  54. %9
  55. машина("Lada niva") :- это("отечественный"),
  56. это("внедорожник"),
  57. свойство("У нее", "тканевый салон"),
  58. свойство("Она", "эконом класса").
  59. %10
  60. машина("Volvo XC90") :- это("швед"),
  61. это("внедорожник"),
  62. свойство("У нее", "кожаный салон"),
  63. свойство("Она", "бизнес класса").
  64. %11
  65. машина("Volvo S60") :- это("швед"),
  66. это("седан"),
  67. свойство("У нее", "кожаный салон"),
  68. свойство("Она", "бизнес класса").
  69. %12
  70. машина("Toyota highlander") :- это("японец"),
  71. это("внедорожник"),
  72. свойство("У нее", "тканевый салон"),
  73. свойство("Она", "бизнес класса"),
  74. свойство("У нее", "просторный салон").
  75. %13
  76. машина("Lada kalina") :- это("отечественный"),
  77. это("седан"),
  78. свойство("У нее", "тканевый салон"),
  79. свойство("Она", "эконом класса"),
  80. свойство("У нее", "передний привод").
  81. %14
  82. машина("Renault logan") :- это("француз"),
  83. это("седан"),
  84. свойство("У нее", "тканевый салон"),
  85. свойство("Она", "эконом класса"),
  86. свойство("У нее", "передний привод").
  87. %15
  88. машина("Renault duster") :- это("француз"),
  89. это("внедорожник"),
  90. свойство("У нее", "тканевый салон"),
  91. свойство("Она", "эконом класса").
  92. %16
  93. машина("Citroen C5") :- это("француз"),
  94. это("седан"),
  95. свойство("У нее", "кожаный салон"),
  96. свойство("Она", "бизнес класса").
  97. %17
  98. машина("Citroen C4") :- это("француз"),
  99. это("седан"),
  100. свойство("У нее", "тканевый салон"),
  101. свойство("Она", "эконос класса").
  102. %18
  103. машина("BMW 4 series") :- это("немец"),
  104. это("купе"),
  105. свойство("У нее", "кожаный салон"),
  106. свойство("Она", "бизнес класса").
  107. %19
  108. машина("BMW 2 series") :- это("немец"),
  109. это("купе"),
  110. свойство("У нее", "тканевый салон"),
  111. свойство("Она", "эконом класса").
  112. %20
  113. машина("BMW X1") :- это("немец"),
  114. это("кроссовер"),
  115. свойство("У нее", "кожаный салон"),
  116. свойство("Она", "бизнес класса"),
  117. свойство("У нее", "передний привод").
  118.  
  119. это("внедорожник") :- свойство("У нее", "четыре двери"),
  120.     свойство("У нее", "полный привод"),
  121.     свойство("У нее", "большой клиренс").
  122. это("кроссовер"):- свойство("У нее", "четыре двери"),
  123.     свойство("У нее", "большой клиренс"),
  124.     свойство("У нее", "большой багажник").
  125. это("седан"):-свойство("У нее", "четыре двери"),
  126.     свойство("Она", "с отдельным багажником").
  127. это("японец"):-свойство("Она", "качественная").
  128. это("немец"):-свойство("Она", "быстрая").
  129. это("швед"):-свойство("Она", "безопасная"), свойство("Она", "качественная").
  130. это("отечественный"):-свойство("Она", "доступная").
  131. это("француз"):-свойство("Она", "качественная"), свойство("Она", "надежная").
  132. это("лифтбек"):-свойство("У нее", "четыре двери"),
  133.     свойство("У нее", "удобный багажник").
  134. это("купе"):-свойство("У нее", "две двери"),
  135.     свойство("Она", "с отдельным багажником").
  136.  
  137.  
  138. свойство(Арг, Арг2) :- верно(Арг, Арг2), !.
  139. свойство(Арг, Арг2) :- not(ложно(Арг, Арг2)), узнать(Арг, Арг2, Ответ), Ответ=да.
  140.  
  141. нет_свойства(Арг, Арг2) :- ложно(Арг, Арг2), !.
  142. нет_свойства(Арг, Арг2) :- not(верно(Арг, Арг2)), узнать(Арг, Арг2, Ответ), Ответ=нет.
  143.  
  144. узнать(Арг, Арг2, Ответ) :- write(Арг),write(" "), write(Арг2), read(Ответ), запомнить(Арг, Арг2, Ответ).
  145.  
  146. запомнить(Арг, Арг2, да) :- assert(верно(Арг,Арг2)).
  147. запомнить(Арг, Арг2, нет) :- assert(ложно(Арг,Арг2)).
  148.  
  149. очистить:-retract(верно(_,_)), fail.
  150. очистить:-retract(ложно(_,_)), fail.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement