Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- voo(fr5483,porto,madrid,500,620).
- voo(fr131,porto,colonia,505,690).
- voo(fr8862,porto,malaga,505,635).
- voo(fr9135,porto,paris,550,720).
- voo(fr8348,porto,londres,1085,1210).
- %...
- voo(fr1225,madrid,colonia,725,860).
- voo(fr5995,madrid,londres,785,870).
- voo(fr5493,madrid,milao,810,950).
- %...
- voo(fr2508,colonia,barcelona,885,995).
- voo(fr8518,colonia,milao,940,1005).
- voo(fr2817,colonia,londres,1015,1015).
- %...
- voo(fr4195,milao,londres,1070,1120).
- % ========================================================
- % a)
- encontra_voos(Origem,Destino,T,L) :-
- voo(IDvoo,Origem,Destino,Tembarque,_),
- T < Tembarque - 60,
- L = [IDvoo].
- encontra_voos(Origem,Destino,T,[IDvoo|L]) :-
- voo(IDvoo,Origem,Chegada,Tembarque,Tchegada),
- T < Tembarque - 60,
- encontra_voos(Chegada,Destino,Tchegada,L).
- % b)
- todas_alternativas_voo(O,D,T,LL):-
- findall(L,encontra_voos(O,D,T,L),LL).
- % c)
- chega_mais_cedo(O,D,T,L):-
- todas_alternativas_voo(O,D,T,[Cam|LL]),
- mais_cedo(LL,Cam,L).
- mais_cedo([],L,L).
- mais_cedo([CamAtual|LL],CamAnt,L):-
- last(CamAtual,EAtual),
- last(CamAnt,EAnt),
- voo(EAnt,_,_,_,TCAnt),
- voo(EAtual,_,_,_,TCAtual),
- (TCAnt < TCAtual ->
- mais_cedo(LL,CamAnt,L);
- mais_cedo(LL,CamAtual,L)).
- % d)
- menos_ligacoes(O,D,T,L):-
- todas_alternativas_voo(O,D,T,[Cam|LL]),
- chega_menos_ligacoes(LL,Cam,L).
- chega_menos_ligacoes([],L,L).
- chega_menos_ligacoes([CamAtual|LL],CamAnt,L):-
- length(CamAtual,LenAtual),
- length(CamAnt,LenAnt),
- (LenAnt < LenAtual ->
- chega_menos_ligacoes(LL,CamAnt,L);
- chega_menos_ligacoes(LL,CamAtual,L)).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement