Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2020
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. voo(fr5483,porto,madrid,500,620).
  2. voo(fr131,porto,colonia,505,690).
  3. voo(fr8862,porto,malaga,505,635).
  4. voo(fr9135,porto,paris,550,720).
  5. voo(fr8348,porto,londres,1085,1210).
  6. %...
  7. voo(fr1225,madrid,colonia,725,860).
  8. voo(fr5995,madrid,londres,785,870).
  9. voo(fr5493,madrid,milao,810,950).
  10. %...
  11. voo(fr2508,colonia,barcelona,885,995).
  12. voo(fr8518,colonia,milao,940,1005).
  13. voo(fr2817,colonia,londres,1015,1015).
  14. %...
  15. voo(fr4195,milao,londres,1070,1120).
  16.  
  17. % ========================================================
  18.  
  19. % a)
  20. encontra_voos(Origem,Destino,T,L) :-
  21. voo(IDvoo,Origem,Destino,Tembarque,_),
  22. T < Tembarque - 60,
  23. L = [IDvoo].
  24.  
  25. encontra_voos(Origem,Destino,T,[IDvoo|L]) :-
  26. voo(IDvoo,Origem,Chegada,Tembarque,Tchegada),
  27. T < Tembarque - 60,
  28. encontra_voos(Chegada,Destino,Tchegada,L).
  29.  
  30. % b)
  31. todas_alternativas_voo(O,D,T,LL):-
  32. findall(L,encontra_voos(O,D,T,L),LL).
  33.  
  34. % c)
  35. chega_mais_cedo(O,D,T,L):-
  36. todas_alternativas_voo(O,D,T,[Cam|LL]),
  37. mais_cedo(LL,Cam,L).
  38.  
  39. mais_cedo([],L,L).
  40. mais_cedo([CamAtual|LL],CamAnt,L):-
  41. last(CamAtual,EAtual),
  42. last(CamAnt,EAnt),
  43. voo(EAnt,_,_,_,TCAnt),
  44. voo(EAtual,_,_,_,TCAtual),
  45. (TCAnt < TCAtual ->
  46. mais_cedo(LL,CamAnt,L);
  47. mais_cedo(LL,CamAtual,L)).
  48.  
  49. % d)
  50. menos_ligacoes(O,D,T,L):-
  51. todas_alternativas_voo(O,D,T,[Cam|LL]),
  52. chega_menos_ligacoes(LL,Cam,L).
  53.  
  54. chega_menos_ligacoes([],L,L).
  55. chega_menos_ligacoes([CamAtual|LL],CamAnt,L):-
  56. length(CamAtual,LenAtual),
  57. length(CamAnt,LenAnt),
  58. (LenAnt < LenAtual ->
  59. chega_menos_ligacoes(LL,CamAnt,L);
  60. chega_menos_ligacoes(LL,CamAtual,L)).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement