• Viernes 29 de Marzo de 2024, 16:00

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - andresch

Páginas: [1]
1
Programación Lógica / Consulta: Prolog En Línea De Comandos O ...?
« en: Martes 29 de Abril de 2008, 12:30 »
Prolog en linux: tengo los siguientes archivos:

1.
primero(sopa).
primero(arroz).
segundo(bistec).
segundo(pescado).
postre(flan).
postre(helado).

menu(X,Y,Z):-
primero(X),
segundo(Y),
postre(Z).


2.
menu(X,Y,Z).
menu(sopa,arroz,bistec).


Si ejecuto prolog y hago las consultas, el resultado será para la primera, por ejemplo:
X = sopa
Y = bistec
Z = flan ;

y para la segunda será:

NO
(porque hay dos primeros y un segundo en la consulta)

Bien, lo que necesito saber es si existe algun modo, desde línea de comandos o declarándolo en el archivo de prolog, que me permita obtener el resultado en un tercer archivo, es decir algo así como (esto me lo invento).

[root@linux[# prolog -c menu.pl -o consulta.txt -f resultado.txt

en donde -c sería archivo de consulta. -o sería sobre qué archivo aplica el programa y -f el archivo con los resultados.

Quizás no se hace así y en el archivo menu.pl se debe declarar el archivo sobre el cual se aplica y el destino de los resultados, no lo se. He estado revisando los manuales de prolog, pero son bastante difíciles de entender.

2
Inteligencia Artificial / Prolog Desde Línea De Comandos O...?
« en: Jueves 24 de Abril de 2008, 20:34 »
Prolog en linux: tengo los siguientes archivos:

1. <file=menu.pl>
primero(sopa).
primero(arroz).
segundo(bistec).
segundo(pescado).
postre(flan).
postre(helado).

menu(X,Y,Z):-
primero(X),
segundo(Y),
postre(Z).
</file>

2. <file=consulta.txt>
menu(X,Y,Z).
menu(sopa,arroz,bistec).
</file>

Si ejecuto prolog y hago las consultas, el resultado será para la primera, por ejemplo:
X = sopa
Y = bistec
Z = flan ;

y para la segunda será:

NO
(porque hay dos primeros y un segundo en la consulta)


Bien, lo que necesito saber es si existe algun modo, desde línea de comandos o declarándolo en el archivo de prolog, que me permita obtener el resultado en un tercer archivo, es decir algo así como (esto me lo invento).

[root@linux[# prolog -c menu.pl -o consulta.txt -f resultado.txt

en donde -c sería archivo de consulta. -o sería sobre qué archivo aplica el programa y -f el archivo con los resultados.

Quizás no se hace así y en el archivo menu.pl se debe declarar el archivo sobre el cual se aplica y el destino de los resultados, no lo se. He estado revisando los manuales de prolog, pero  son bastante difíciles de entender.

Páginas: [1]