Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2017
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.13 KB | None | 0 0
  1. continente(africa).
  2. continente(americasul).
  3. continente(asia).
  4. continente(europa).
  5. continente(oceania).
  6.  
  7. %pais(pais,continente,Milhoes Habitantes)
  8. pais(argentina, americasul, 41.67).
  9. pais(bolivia, americasul, 9.70).
  10. pais(brasil, americasul, 206.12).
  11. pais(chile, americasul, 16.80).
  12. pais(colombia, americasul, 46.86).
  13. pais(equador, americasul, 14.88).
  14. pais(guiana, americasul, 0.07).
  15. pais(guianafrancesa, americasul, 2.88).
  16. pais(paraguai, americasul, 6.24).
  17. pais(peru, americasul, 28.22).
  18. pais(suriname, americasul, 0.04).
  19. pais(venezuela, americasul, 31.02).
  20. pais(uruguai, americasul, 3.35).
  21. pais(albania, europa, 2.88).
  22. pais(alemanha, europa, 82.8).
  23. pais(armenia, europa, 3.01).
  24. pais(austria, europa, 8.77).
  25. pais(belgica, europa, 11.37).
  26. pais(bielorussia, europa, 9.48).
  27. pais(bosnia, europa, 3.75).
  28. pais(bulgaria, europa, 7.1).
  29. pais(chipre, europa, 0.85).
  30. pais(croacia, europa, 4.15).
  31.  
  32. pais(dinamarca, europa, 5.75).
  33. pais(eslovaquia, europa, 5.44).
  34. pais(eslovenia, europa, 2.06).
  35. pais(espanha, europa, 46.53).
  36. pais(estonia, europa, 1.32).
  37. pais(finlandia, europa, 5.5).
  38. pais(franca, europa, 66.99).
  39. pais(georgia, europa, 3.71).
  40. pais(grecia, europa, 10.76).
  41. pais(holanda, europa, 17.08).
  42. pais(hungria, europa, 9.8).
  43. pais(irlanda, europa, 4.77).
  44. pais(islandia, europa, 0.34).
  45. pais(italia, europa, 60.59).
  46. pais(kosovo, europa, 1.77).
  47. pais(letonia, europa, 1.98).
  48. pais(liechtenstein, europa, 0.04).
  49. pais(lituania, europa, 2.85).
  50. pais(luxemburgo, europa, 0.59).
  51. pais(macedonia, europa, 2.07).
  52. pais(malta, europa, 0.44).
  53. pais(moldavia, europa, 3.55).
  54. pais(monaco, europa, 0.04).
  55. pais(montenegro, europa, 0.62).
  56. pais(noruega, europa, 5.26).
  57. pais(polonia, europa, 38.42).
  58. pais(portugal, europa, 10.31).
  59. pais(reinounido, europa, 65.81).
  60. pais(republicacheca, europa, 10.57).
  61. pais(romenia, europa, 19.64).
  62. pais(russia, europa, 146.5).
  63. pais(servia, europa, 7.04).
  64. pais(suecia, europa, 10).
  65. pais(suica, europa, 8.42).
  66. pais(turquia, europa, 79.81).
  67. pais(ucrania, europa, 42.59).
  68.  
  69. fronteira(argentina, bolivia).
  70. fronteira(argentina, brasil).
  71. fronteira(argentina, chile).
  72. fronteira(argentina, paraguai).
  73. fronteira(argentina, uruguai).
  74.  
  75. fronteira(bolivia, brasil).
  76. fronteira(bolivia, argentina).
  77. fronteira(bolivia, chile).
  78. fronteira(bolivia, paraguai).
  79. fronteira(bolivia, peru).
  80.  
  81. fronteira(brasil, colombia).
  82. fronteira(brasil, guiana).
  83. fronteira(brasil, guianafrancesa).
  84. fronteira(brasil, paraguai).
  85. fronteira(brasil, peru).
  86. fronteira(brasil, suriname).
  87. fronteira(brasil, uruguai).
  88. fronteira(brasil, venezuela).
  89.  
  90. fronteira(chile, peru).
  91.  
  92. fronteira(colombia, equador).
  93. fronteira(colombia, peru).
  94. fronteira(colombia, venezuela).
  95.  
  96. fronteira(equador, peru).
  97.  
  98. fronteira(guiana, suriname).
  99. fronteira(guiana, venezuela).
  100.  
  101. fronteira(guianafrancesa, suriname).
  102.  
  103. fronteira(albania, grecia).
  104. fronteira(albania, macedonia).
  105. fronteira(albania, montenegro).
  106. fronteira(albania, kosovo).
  107.  
  108. fronteira(alemanha, austria).
  109. fronteira(alemanha, belgica).
  110. fronteira(alemanha, dinamarca).
  111. fronteira(alemanha, franca).
  112. fronteira(alemanha, holanda).
  113. fronteira(alemanha, luxemburgo).
  114. fronteira(alemanha, polonia).
  115. fronteira(alemanha, republicacheca).
  116. fronteira(alemanha, suica).
  117.  
  118. fronteira(armenia, georgia).
  119. fronteira(armenia, turquia).
  120.  
  121. fronteira(austria, eslovaquia).
  122. fronteira(austria, eslovenia).
  123. fronteira(austria, hungria).
  124. fronteira(austria, italia).
  125. fronteira(austria, liechtenstein).
  126. fronteira(austria, republicacheca).
  127. fronteira(austria, suica).
  128.  
  129. fronteira(belgica, franca).
  130. fronteira(belgica, holanda).
  131. fronteira(belgica, luxemburgo).
  132.  
  133. fronteira(bielorussia, letonia).
  134. fronteira(bielorussia, lituania).
  135. fronteira(bielorussia, polonia).
  136. fronteira(bielorussia, russia).
  137. fronteira(bielorussia, ucrania).
  138.  
  139. fronteira(bosnia, croacia).
  140. fronteira(bosnia, montenegro).
  141. fronteira(bosnia, servia).
  142.  
  143. fronteira(bulgaria, grecia).
  144. fronteira(bulgaria, macedonia).
  145. fronteira(bulgaria, romenia).
  146. fronteira(bulgaria, servia).
  147. fronteira(bulgaria, turquia).
  148.  
  149. fronteira(croacia, eslovenia).
  150. fronteira(croacia, hungria).
  151. fronteira(croacia, montenegro).
  152. fronteira(croacia, servia).
  153.  
  154. fronteira(eslovaquia, hungria).
  155. fronteira(eslovaquia, polonia).
  156. fronteira(eslovaquia, republicacheca).
  157. fronteira(eslovaquia, ucrania).
  158.  
  159. fronteira(eslovenia, hungria).
  160. fronteira(eslovenia, italia).
  161.  
  162. fronteira(espanha, franca).
  163. fronteira(espanha, portugal).
  164.  
  165. fronteira(estonia, letonia).
  166. fronteira(estonia, russia).
  167.  
  168. fronteira(finlandia, noruega).
  169. fronteira(finlandia, russia).
  170. fronteira(finlandia, suecia).
  171.  
  172. fronteira(franca, italia).
  173. fronteira(franca, luxemburgo).
  174. fronteira(franca, monaco).
  175. fronteira(franca, suica).
  176.  
  177. fronteira(georgia, russia).
  178. fronteira(georgia, turquia).
  179.  
  180. fronteira(grecia, macedonia).
  181. fronteira(grecia, turquia).
  182.  
  183.  
  184. fronteira(hungria, romenia).
  185. fronteira(hungria, servia).
  186. fronteira(hungria, ucrania).
  187.  
  188. fronteira(irlanda, reinounido).
  189.  
  190. fronteira(italia, suica).
  191.  
  192. fronteira(kosovo, macedonia).
  193. fronteira(kosovo, montenegro).
  194. fronteira(kosovo, servia).
  195.  
  196. fronteira(letonia, lituania).
  197. fronteira(letonia, russia).
  198.  
  199. fronteira(liechtenstein, suica).
  200.  
  201. fronteira(lituania, polonia).
  202. fronteira(lituania, russia).
  203.  
  204. fronteira(macedonia, servia).
  205.  
  206. fronteira(moldavia, romenia).
  207. fronteira(moldavia, ucrania).
  208.  
  209. fronteira(noruega, suecia).
  210. fronteira(noruega, russia).
  211.  
  212. fronteira(montenegro, servia).
  213.  
  214. fronteira(polonia, republicacheca).
  215. fronteira(polonia, russia).
  216. fronteira(polonia, ucrania).
  217.  
  218. fronteira(romenia, servia).
  219. fronteira(romenia, ucrania).
  220.  
  221. fronteira(russia, ucrania).
  222.  
  223.  
  224. %EX2
  225. lista(C):-
  226. write('Continente: '),
  227. write(C),nl,
  228. write('-------------------------'),nl,
  229. pais(P,C,H),
  230. write(P),write(','),write(H),write(','),
  231. findall(Front,fronteira(P,Front),L),
  232. write(L),nl,fail; true.
  233.  
  234. %EX3
  235. headerList([H1|[H2|_]],H1,H2).
  236. doisMaisPop(P1,P2):-
  237. setof(Pop,Cont^Pais^pais(Pais,Cont,Pop),L),
  238. reverse(L,L1),
  239. headerList(L1,F1,F2),
  240. pais(P1,_,F1),
  241. pais(P2,_,F2).
  242.  
  243. %EX4
  244. paisesGrandes(C,N,L):-
  245. setof((Pop-Pais),(pais(Pais,C,Pop),Pop > N ),L).
  246.  
  247. %Ex5
  248. somaVal([(Pop,_)],Pop).
  249. somaVal([(Pop,_)|T],S):-
  250. somaVal(T,S1),
  251. S is Pop + S1.
  252.  
  253. somaPopViz(P,L,S):-
  254. setof((Pop,Pais),((fronteira(P,Pais);fronteira(Pais,P)),pais(Pais,_,Pop)),L),
  255. somaVal(L,S).
  256.  
  257.  
  258. % Ex 6
  259. dfs(O, O, _,[O]).
  260. dfs(O, D, V, [O|R]):-
  261. (fronteira(O, X);fronteira(X, O)),
  262. not(member(X, V)),
  263. dfs(X, D, [X|V], R).
  264. dfs(O, D, C):-
  265. dfs(O, D, [O], C).
  266.  
  267. contaLista([], 0).
  268. contaLista([_|T], C):-
  269. contaLista(T, C1),
  270. C is C1 + 1.
  271.  
  272. numPaisesAtravessados(P1, P2, Num):-
  273. dfs(P1, P2, L),
  274. contaLista(L, Num).
  275.  
  276.  
  277. %EX7
  278. bfs(Orig,Dest,Cam):-
  279. bfs2(Dest,[[Orig]],Cam).
  280. bfs2(Dest,[[Dest|T]|_],Cam):-
  281. reverse([Dest|T],Cam).
  282.  
  283. bfs2(Dest,[LA|Outros],Cam):-
  284. LA=[Act|_],
  285. findall([X|LA],
  286. (Dest\==Act,(fronteira(Act,X);fronteira(X,Act)),\+ member(X,LA)),Novos),
  287. append(Outros,Novos,Todos),
  288. bfs2(Dest,Todos,Cam).
  289.  
  290. todosRoteiros(O,D,Num,L):-
  291. bfs(O,D,L).
  292.  
  293. sumpops(0,0).
  294. sumpops(Po,R):-
  295. sumpops(Po,R1),
  296. R is R1 + Po.
  297.  
  298. listafront10(Pais,L,Resultado):-
  299. findall((F,POP),((fronteira(Pais,F);fronteira(F,Pais)),pais(F,_,POP),sumpops(POP,RES),POP>10),L).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement