Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/01/2010, 18:17
libertad1
 
Fecha de Ingreso: mayo-2009
Mensajes: 38
Antigüedad: 15 años
Puntos: 1
prolog : extraer elementos de una lista

Hola todos

dispongo de la siguiente base de dotos:

Código:
/*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)
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]

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:
TiempoCamino([Vd|L]):-

carretea(Id,Vd,Va),
findall(Tiempo,tiempoCarretera(Id,Tiempo)L).
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 Va

Como hago par extraer las ciudades de la lista ?

De antemano gracias