Foros del Web » Programación para mayores de 30 ;) » Programación General »

prolog : extraer elementos de una lista

Estas en el tema de prolog : extraer elementos de una lista en el foro de Programación General en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 14/01/2010, 18:17
 
Fecha de Ingreso: mayo-2009
Mensajes: 38
Antigüedad: 15 años, 7 meses
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

Etiquetas: elementos, extraer, lista, prolog
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:09.