problema con sentencias en prolog
Publicado por Alex (1 intervención) el 19/02/2015 03:51:06
hola amigos, apenas estoy empezando a manejar el prolog, y tengo un problema con una sentencia que no
quiere arrojarme los resultados que se supone que debería dar.
les pongo la sentencia y les explico.
Tengo en el "archivo.pl" el siguiente codigo para definir las reglas del programa.
mortal(x) :- persona(x).
persona(socrates).
persona(platon).
persona(zenon).
persona(aristoteles).
reporte_mortales :-
write('los mortales conocidos son:'), nl,
mortal(x),
write(x),nl,
fail.
--------------------------------------------------------------------
Ahora cuando voy a consultar especificamente si alguna de las personas es mortal, me imprime siempre
falso, y solo me imprime "true" cuando lo hago especificamente con persona(x).
1 ?- mortal(socrates).
false.
2 ?- mortal(zenon).
false.
3 ?- persona(socrates).
true.
4 ?- reporte_mortales.
los mortales conocidos son:
false.
si me pueden ayudar a solucionar este pequeño inconveniente les estaré muy agradecido.
quiere arrojarme los resultados que se supone que debería dar.
les pongo la sentencia y les explico.
Tengo en el "archivo.pl" el siguiente codigo para definir las reglas del programa.
mortal(x) :- persona(x).
persona(socrates).
persona(platon).
persona(zenon).
persona(aristoteles).
reporte_mortales :-
write('los mortales conocidos son:'), nl,
mortal(x),
write(x),nl,
fail.
--------------------------------------------------------------------
Ahora cuando voy a consultar especificamente si alguna de las personas es mortal, me imprime siempre
falso, y solo me imprime "true" cuando lo hago especificamente con persona(x).
1 ?- mortal(socrates).
false.
2 ?- mortal(zenon).
false.
3 ?- persona(socrates).
true.
4 ?- reporte_mortales.
los mortales conocidos son:
false.
si me pueden ayudar a solucionar este pequeño inconveniente les estaré muy agradecido.
Valora esta pregunta


0