Advertisement
Guest User

Untitled

a guest
Mar 31st, 2020
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.72 KB | None | 0 0
  1. % TURISTAS NA COPA
  2. % TRABALHO EM GRUPO
  3. % RENATO DOUGLAS ZEMBRANI
  4. % RODRIGO SOTELI
  5.  
  6.  
  7. main :-
  8. %% Tempo inicial
  9. statistics(cputime,T1),
  10.  
  11.  
  12. aluno([A1, A2, A3, A4, A5]),
  13. writeln("\n aluno 1: ":A1),
  14. writeln("\n aluno 2: ":A2),
  15. writeln("\n aluno 3: ":A3),
  16. writeln("\n aluno 4: ":A4),
  17. writeln("\n aluno 5: ":A5),
  18. %% Tempo final
  19. statistics(cputime ,T2),
  20. Tempo_BUSCA is T2 - T1,
  21. format('\n T1: ~f \t T2: ~f msec', [T1, T2]),
  22. format('\n Tempo total: ~10f msec', Tempo_BUSCA),
  23. fail.
  24.  
  25. main :- write(' UMA RESPOSTA ').
  26.  
  27.  
  28. aluno([(Nome_1, Suco_1, Mochila_1, Mes_1, Jogo_1, Materia_1),
  29. (Nome_2, Suco_2, Mochila_2, Mes_2, Jogo_2, Materia_2),
  30. (Nome_3, Suco_3, Mochila_3, Mes_3, Jogo_3, Materia_3),
  31. (Nome_4, Suco_4, Mochila_4, Mes_4, Jogo_4, Materia_4),
  32. (Nome_5, Suco_5, Mochila_5, Mes_5, Jogo_5, Materia_5)]):-
  33.  
  34.  
  35. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  36.  
  37. % Nome_
  38.  
  39. nome(Nome_1),
  40. nome(Nome_2),
  41. nome(Nome_3),
  42. nome(Nome_4),
  43. nome(Nome_5),
  44.  
  45.  
  46.  
  47. % 21. Lenin está na quinta posição.
  48.  
  49. Nome_5 == lenin ,
  50.  
  51.  
  52. % 22. otavio está em uma das pontas.
  53.  
  54. Nome_1 == otavio ,
  55.  
  56.  
  57. alldifferent([Nome_1,Nome_2,Nome_3,Nome_4,Nome_5]),
  58.  
  59.  
  60.  
  61. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  62.  
  63.  
  64. % Suco_
  65.  
  66.  
  67. suco(Suco_1),
  68. suco(Suco_2),
  69. suco(Suco_3),
  70. suco(Suco_4),
  71. suco(Suco_5),
  72.  
  73.  
  74. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  75.  
  76.  
  77. % 19. Na primeira posição está quem gosta de Suco_ de limao.
  78.  
  79. Suco_1 == limao ,
  80.  
  81.  
  82. % 6. Na terceira posição está quem gosta de Suco_ de Morango.
  83.  
  84. Suco_3 == morango ,
  85.  
  86.  
  87. alldifferent([Suco_1,Suco_2,Suco_3,Suco_4,Suco_5]),
  88.  
  89.  
  90. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  91.  
  92.  
  93. % Mochila_
  94.  
  95.  
  96. mochila(Mochila_1),
  97. mochila(Mochila_2),
  98. mochila(Mochila_3),
  99. mochila(Mochila_4),
  100. mochila(Mochila_5),
  101.  
  102.  
  103. alldifferent([Mochila_1, Mochila_2, Mochila_3, Mochila_4, Mochila_5]),
  104.  
  105.  
  106.  
  107. % 5. O garoto da Mochila_ Branca está exatamente à esquerda de Will.
  108.  
  109. (
  110. ( Mochila_5 == branca , Nome_4 == will ) ;
  111. ( Mochila_4 == branca , Nome_3 == will ) ;
  112. ( Mochila_3 == branca , Nome_2 == will )
  113. %( Mochila_2 == branca , Nome_1 == will )
  114. ) ,
  115.  
  116.  
  117. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  118.  
  119. %Mes_
  120.  
  121.  
  122. mes(Mes_1),
  123. mes(Mes_2),
  124. mes(Mes_3),
  125. mes(Mes_4),
  126. mes(Mes_5),
  127.  
  128.  
  129. alldifferent([Mes_1, Mes_2, Mes_3, Mes_4, Mes_5]),
  130.  
  131.  
  132. % 1. Quem nasceu em Setembro está ao lado de quem gosta de Suco_ de Laranja
  133.  
  134. (
  135. ( Mes_1 == setembro , Suco_2 == laranja ) ;
  136. %( Mes_2 == setembro , Suco_1 == laranja ) ;
  137. %( Mes_2 == setembro , Suco_3 == laranja ) ;
  138. ( Mes_3 == setembro , Suco_2 == laranja ) ;
  139. ( Mes_3 == setembro , Suco_4 == laranja ) ;
  140. %( Mes_4 == setembro , Suco_3 == laranja ) ;
  141. ( Mes_4 == setembro , Suco_5 == laranja ) ;
  142. ( Mes_5 == setembro , Suco_4 == laranja )
  143. ),
  144.  
  145.  
  146. % 9. O menino que gosta de Suco_ de Uva está em algum lugar à direita do garoto da Mochila_ Azul.
  147.  
  148. (
  149. %( Suco_1 == uva , Mochila_2 == azul ) ;
  150. %( Suco_1 == uva , Mochila_3 == azul ) ;
  151. %( Suco_1 == uva , Mochila_4 == azul ) ;
  152. %( Suco_1 == uva , Mochila_5 == azul ) ;
  153. %( Suco_2 == uva , Mochila_3 == azul ) ;
  154. %( Suco_2 == uva , Mochila_4 == azul ) ;
  155. %( Suco_2 == uva , Mochila_5 == azul ) ;
  156. %%( Suco_3 == uva , ( Mochila_2 == azul ; Mochila_1 == azul ; Mochila_3 == azul)) ;
  157. ( Suco_4 == uva , ( Mochila_2 == azul ; Mochila_1 == azul ; Mochila_3 == azul) ) ;
  158. ( Suco_5 == uva , ( Mochila_2 == azul ; Mochila_1 == azul ; Mochila_3 == azul; Mochila_4 == azul ) )
  159. %( Suco_3 == uva , Mochila_4 == azul ) ;
  160. %( Suco_3 == uva , Mochila_5 == azul ) ;
  161. %( Suco_4 == uva , Mochila_5 == azul )
  162. ) ,
  163.  
  164.  
  165. % 13. O menino que nasceu em Janeiro está ao lado de quem nasceu em Setembro.
  166.  
  167. (
  168. ( Mes_1 == janeiro , Mes_2 == setembro ) ;
  169. ( Mes_2 == janeiro , Mes_1 == setembro ) ;
  170. ( Mes_2 == janeiro , Mes_3 == setembro ) ;
  171. ( Mes_3 == janeiro , Mes_2 == setembro ) ;
  172. ( Mes_3 == janeiro , Mes_4 == setembro ) ;
  173. ( Mes_4 == janeiro , Mes_3 == setembro ) ;
  174. ( Mes_4 == janeiro , Mes_5 == setembro ) ;
  175. ( Mes_5 == janeiro , Mes_4 == setembro )
  176. ) ,
  177.  
  178.  
  179. % 3. O garoto da Mochila_ Azul está em algum lugar à esquerda de quem nasceu em Maio.
  180.  
  181. (
  182. ( Mochila_2 == azul , Mes_1 == maio ) ;
  183. ( Mochila_3 == azul , Mes_1 == maio ) ;
  184. ( Mochila_3 == azul , Mes_2 == maio ) ;
  185. ( Mochila_4 == azul , Mes_3 == maio ) ;
  186. ( Mochila_4 == azul , Mes_2 == maio ) ;
  187. ( Mochila_4 == azul , Mes_1 == maio ) ;
  188. ( Mochila_5 == azul , Mes_4 == maio ) ;
  189. ( Mochila_5 == azul , Mes_3 == maio ) ;
  190. ( Mochila_5 == azul , Mes_2 == maio ) ;
  191. ( Mochila_5 == azul , Mes_1 == maio )
  192. ) ,
  193.  
  194.  
  195. % 17. O dono da Mochila_ Azul nasceu em Janeiro.
  196.  
  197. (
  198. ( Mochila_1 == azul , Mes_1 == janeiro ) ;
  199. ( Mochila_2 == azul , Mes_2 == janeiro ) ;
  200. ( Mochila_3 == azul , Mes_3 == janeiro ) ;
  201. ( Mochila_4 == azul , Mes_4 == janeiro ) ;
  202. ( Mochila_5 == azul , Mes_5 == janeiro )
  203. ) ,
  204.  
  205.  
  206.  
  207.  
  208. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  209.  
  210. % Jogo_
  211.  
  212. jogo(Jogo_1),
  213. jogo(Jogo_2),
  214. jogo(Jogo_3),
  215. jogo(Jogo_4),
  216. jogo(Jogo_5),
  217.  
  218.  
  219.  
  220.  
  221. % 23. Na terceira posição está o menino que gosta do Jogo_ da Forca.
  222.  
  223. Jogo_3 == forca,
  224.  
  225.  
  226.  
  227. alldifferent([Jogo_1,Jogo_2,Jogo_3,Jogo_4,Jogo_5]),
  228.  
  229.  
  230.  
  231.  
  232. % 10. Em uma das pontas está o menino que adora jogar Cubo Vermelho.
  233.  
  234. (
  235. ( Jogo_1 == cubo ) ;
  236. ( Jogo_5 == cubo )
  237. ) ,
  238.  
  239.  
  240.  
  241. % 4. Will está ao lado do menino que gosta de Problemas de logica.
  242.  
  243. (
  244. %( Nome_1 == will , Jogo_2 == logica ) ;
  245. ( Nome_2 == will , Jogo_1 == logica ) ;
  246. %( Nome_2 == will , Jogo_3 == logica ) ;
  247. ( Nome_3 == will , Jogo_2 == logica ) ;
  248. ( Nome_3 == will , Jogo_4 == logica ) ;
  249. %( Nome_4 == will , Jogo_3 == logica ) ;
  250. ( Nome_4 == will , Jogo_5 == logica )
  251. %( Nome_5 == will , Jogo_4 == logica )
  252. ) ,
  253.  
  254.  
  255. % 7. Quem gosta de Suco_ de Uva gosta de Problemas de logica.
  256.  
  257. (
  258. %( Suco_1 ==uva , Jogo_1 == logica ) ;
  259. ( Suco_2 ==uva , Jogo_2 == logica ) ;
  260. %( Suco_3 ==uva , Jogo_3 == logica ) ;
  261. ( Suco_4 ==uva , Jogo_4 == logica ) ;
  262. ( Suco_5 ==uva , Jogo_5 == logica )
  263. ) ,
  264.  
  265.  
  266. % 11. Quem gosta do Jogo_ da Forca está ao lado do dono da Mochila_ Vermelha.
  267.  
  268. (
  269. %( Jogo_1 == forca , Mochila_2 == vermelha ) ;
  270. %( Jogo_2 == forca , Mochila_1 == vermelha ) ;
  271. %( Jogo_2 == forca , Mochila_3 == vermelha ) ;
  272. ( Jogo_3 == forca , Mochila_2 == vermelha ) ;
  273. ( Jogo_3 == forca , Mochila_4 == vermelha )
  274. %( Jogo_4 == forca , Mochila_3 == vermelha ) ;
  275. %( Jogo_4 == forca , Mochila_5 == vermelha ) ;
  276. %( Jogo_5 == forca , Mochila_4 == vermelha )
  277. ) ,
  278.  
  279.  
  280. % 16. Quem curte Problemas de logica está ao lado do menino da Mochila_ Amarela.
  281. (
  282. ( Jogo_1 == logica , Mochila_2 == amarela ) ;
  283. ( Jogo_2 == logica , Mochila_1 == amarela ) ;
  284. ( Jogo_2 == logica , Mochila_3 == amarela ) ;
  285. %( Jogo_3 == logica , Mochila_2 == amarela ) ;
  286. %( Jogo_3 == logica , Mochila_4 == amarela ) ;
  287. ( Jogo_4 == logica , Mochila_3 == amarela ) ;
  288. ( Jogo_4 == logica , Mochila_5 == amarela ) ;
  289. ( Jogo_5 == logica , Mochila_4 == amarela )
  290. ) ,
  291.  
  292.  
  293. % 8. O garoto que gosta do Jogo_ da Forca está ao lado do que gosta do tres_ou_mais.
  294.  
  295. (
  296. %( Jogo_1 == forca , Jogo_2 == tres_ou_mais ) ;
  297. %( Jogo_2 == forca , Jogo_1 == tres_ou_mais ) ;
  298. %( Jogo_2 == forca , Jogo_3 == tres_ou_mais ) ;
  299. ( Jogo_3 == forca , Jogo_2 == tres_ou_mais ) ;
  300. ( Jogo_3 == forca , Jogo_4 == tres_ou_mais )
  301. %( Jogo_4 == forca , Jogo_3 == tres_ou_mais ) ;
  302. %( Jogo_4 == forca , Jogo_5 == tres_ou_mais ) ;
  303. %( Jogo_5 == forca , Jogo_4 == tres_ou_mais )
  304. ) ,
  305.  
  306.  
  307. % 18. O garoto que nasceu em Setembro está ao lado de quem gosta de jogar Cubo Vermelho.
  308.  
  309. (
  310. ( Mes_1 == setembro , Jogo_2 == cubo) ;
  311. ( Mes_2 == setembro , Jogo_1 == cubo) ;
  312. %( Mes_2 == setembro , Jogo_3 == cubo) ;
  313. ( Mes_3 == setembro , Jogo_2 == cubo) ;
  314. ( Mes_3 == setembro , Jogo_4 == cubo) ;
  315. %( Mes_4 == setembro , Jogo_3 == cubo) ;
  316. ( Mes_4 == setembro , Jogo_5 == cubo) ;
  317. ( Mes_5 == setembro , Jogo_4 == cubo)
  318. ) ,
  319.  
  320.  
  321.  
  322. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  323.  
  324.  
  325. % Materia_
  326.  
  327.  
  328. materia(Materia_1),
  329. materia(Materia_2),
  330. materia(Materia_3),
  331. materia(Materia_4),
  332. materia(Materia_5),
  333.  
  334.  
  335. alldifferent([Materia_1,Materia_2,Materia_3,Materia_4,Materia_5]),
  336.  
  337.  
  338. % 2. joao gosta de historia.
  339.  
  340. (
  341. %( Nome_1 == joao , Materia_1 == historia ) ;
  342. ( Nome_2 == joao , Materia_2 == historia ) ;
  343. ( Nome_3 == joao , Materia_3 == historia ) ;
  344. ( Nome_4 == joao , Materia_4 == historia )
  345. %( Nome_5 == joao , Materia_5 == historia )
  346. ) ,
  347.  
  348.  
  349.  
  350. % 12. O garoto que gosta de Biologia gosta de Suco_ de Morango.
  351.  
  352. (
  353. %( Materia_1 == biologia , Suco_1 == morango ) ;
  354. %( Materia_2 == biologia , Suco_2 == morango ) ;
  355. ( Materia_3 == biologia , Suco_3 == morango )
  356. %( Materia_4 == biologia , Suco_4 == morango ) ;
  357. %( Materia_5 == biologia , Suco_5 == morango )
  358. ) ,
  359.  
  360.  
  361. % 14. Quem gosta de Suco_ de Uva está exatamente à esquerda de quem gosta de portugues.
  362.  
  363. (
  364. %( Suco_1 == uva , Materia_2 == portugues ) ;
  365. ( Suco_2 == uva , Materia_3 == portugues ) ;
  366. %( Suco_3 == uva , Materia_4 == portugues )
  367. ( Suco_4 == uva , Materia_5 == portugues )
  368. ) ,
  369.  
  370.  
  371. % 20. Quem gosta de matematica gosta também de Suco_ de maracuja..
  372.  
  373. (
  374. %( Materia_1 == matematica , Suco_1 == maracuja ) ;
  375. ( Materia_2 == matematica , Suco_2 == maracuja ) ;
  376. %( Materia_3 == matematica , Suco_3 == maracuja ) ;
  377. ( Materia_4 == matematica , Suco_4 == maracuja ) ;
  378. ( Materia_5 == matematica , Suco_5 == maracuja )
  379. ) ,
  380.  
  381.  
  382. % 15. O menino que gosta de matematica nasceu em Dezembro.
  383.  
  384. (
  385. ( Materia_1 == matematica , Mes_2 == dezembro ) ;
  386. ( Materia_2 == matematica , Mes_2 == dezembro ) ;
  387. ( Materia_3 == matematica , Mes_3 == dezembro ) ;
  388. ( Materia_4 == matematica , Mes_4 == dezembro ) ;
  389. ( Materia_5 == matematica , Mes_5 == dezembro )
  390. ),
  391. nl,
  392. write(' AQUI PASSA TODA VEZ QUE AS VARIAVEIS FOREM INSTANCIADAS'),
  393. write('........FINAL DO MODELO ..........')
  394. .
  395.  
  396.  
  397. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  398.  
  399. %BIBLIOTECA
  400.  
  401. nome(denis).
  402. nome(joao).
  403. nome(lenin).
  404. nome(otavio).
  405. nome(will).
  406.  
  407.  
  408. suco(laranja).
  409. suco(limao).
  410. suco(maracuja).
  411. suco(uva).
  412. suco(morango).
  413.  
  414.  
  415. mochila(amarela).
  416. mochila(azul).
  417. mochila(branca).
  418. mochila(verde).
  419. mochila(vermelha).
  420.  
  421.  
  422. mes(janeiro).
  423. mes(maio).
  424. mes(agosto).
  425. mes(setembro) .
  426. mes(dezembro).
  427.  
  428. jogo(tres_ou_mais).
  429. jogo(palavras).
  430. jogo(cubo).
  431. jogo(forca).
  432. jogo(logica).
  433.  
  434. materia(biologia).
  435. materia(geografia).
  436. materia(historia).
  437. materia(matematica).
  438. materia(portugues).
  439.  
  440.  
  441.  
  442.  
  443. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  444.  
  445.  
  446. % DEFINICAO DE ALLDIFERENT
  447. alldifferent([]).
  448. alldifferent([H|T]):- not(member(H,T)),
  449. alldifferent(T).
  450.  
  451. imprime_lista([]):- write('\n FIM \n').
  452. imprime_lista([H|T]):- write('\n.............\n'),
  453. write(H),
  454. imprime_lista(T).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement