Prolog - Ayuda urgentee

 
Vista:

Ayuda urgentee

Publicado por Elena (1 intervención) el 14/05/2005 12:44:35
Hola a todos!

necesito ayuda en este tema, que no sé como hacerlo:

Construir un programa para dibujar una figura (un grafo) usando
una linea continua, sin pasar dos veces por el mismo arco ni levantar
el lapiz del papel. El predicado de entrada se llamara

dibuja(Nombre_Grafo, Camino)

donde "Nombre_Grafo" es el nombre asignado a una representacion del
grafo (_no_ la representacion del grafo) y "Camino" es una lista con
el orden de nodos por los que hay que pasar. Los posibles grafos a los
que se aplicara el programa se almacenaran mediante hechos del
predicado grafo/2, de la forma

grafo(Nombre_Grafo, Grafo) <- .

Por ejemplo, dado el grafo

a
/ \
b---c
|\ /|
| X |
|/ \|
d---e

(la X no es un nodo, es un cruce de lineas), su representacion podria ser

grafo(casa, [l(a,b),l(a,c),l(b,c),l(b,d),l(b,e),l(c,d),l(c,e),l(d,e)])
<- .

y la ejecucion del programa seria como la siguiente:

?- dibuja(casa, Recorrido).
Recorrido = [d,b,a,c,b,e,c,d,e] ? <return>
yes

- El grafo
b
/|\
a-+-d
\|/
c

representado por

grafo(diamante, [l(a,b),l(a,c),l(b,c),l(a,d),l(b,d),l(c,d)]) <- .

haria que el programa se comportase del siguiente modo:

?- dibuja(diamante, Recorrido).
no

ya que no hay ningun recorrido que cumpla las condiciones propuestas.
--------------------------------------------------------------------------------------------------

¿¿¿¿como se hace????

Muchisimas gracias,
Elena.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda urgentee

Publicado por jesus (2 intervenciones) el 21/05/2005 18:25:27
como eliminar un elemnto especifico de una lista
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda urgentee

Publicado por alex (1 intervención) el 06/06/2007 11:13:49
de la FI
borralista([X|T],X,T).
borralista([H|T],X,[H|NT]) :- borralista(T,X,NT).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda urgentee

Publicado por aaaa (1 intervención) el 18/05/2008 11:46:08
ves a tu profesor de prolog y se lo preguntas.FI
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar