dispongo de la siguiente base de dotos:
Código:
tengo un predicado que recibe en argumentos 2 ciudades y envia una lista que contiene las ciudades del trayecto por ejemplo si tengo ke ir de V1 a V3 paando por V2 la lista sera [Vd|L] = [V1| V2, V3] /*carretera(Id,Cuidad1,Ciudad2)*/ carretera(1,"V1","V2") carretera(2,"V2","V3") carretera(3,"V3","V4") carretera(4,"V1","V3") carretera(5,"V1","V4") /*tienpoCarretera(Id,Tiempo)*/ tienpoCarretera(1,40) tienpoCarretera(2,25) tienpoCarretera(3,55) tienpoCarretera(4,60) tienpoCarretera(5,110)
Este predicado esta seguido del predicado TiempoCamino que calcula el tiempo recorrido en un camino y que recibe como argumento la lista devuelta por el predicado anterior
Código:
En este código antes de llamar al predicado carretera(Id, VD, Va), primero debe extraer las ciudades de la lista [VD | L] para que en primero se afecta V1 a Vd y V2Va y después V2 a Vd y V3 a VaTiempoCamino([Vd|L]):- carretea(Id,Vd,Va), findall(Tiempo,tiempoCarretera(Id,Tiempo)L).
Como hago par extraer las ciudades de la lista ?
De antemano gracias