Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como Prolog

JPL - Conectar Java con Prolog

Se presentara una manera sencilla de conectar una aplicacion Java a Prolog, el cual ejectara un  proceso inteligente. Para ello se usara el IDE Eclipse y SWI Prolog y la conexion se realizara a travez de la interface JPL( Java Prolog Library ). Seguir los siguientes pasos: Instalar  SWI Prolog ,  Eclipse  , JDK 1.6 Añadir como variable de sistema en el Path :  C:\Archivos de programa\Java\jdk1.6.0_10\bin; C:\Archivos de programa\Java\jdk1.6.0_10\lib\tools.jar; C:\Archivos de programa\Java\jdk1.6.0_10\jre\lib\rt.jar; C:\Archivos de programa\pl\bin; C:\Archivos de programa\pl\lib\jpl.jar; Crear padre.pl en  SWI Prolog Crear TestJavaProlog en  Eclipse, antes debes haber creado un projecto java y añadir jpl.jar(se encuentra en el  directorio donde se instalo  SWI Prolog ) como libreria. Escribir el codigo Java que invocara a Padre.pl package dmotta.blogspot.com.javaprolog; import java.util.Hashtable; import jpl.Query; pub...

Prolog - Ejemplos de Listas

Comparto el material de estudio antes de un Examen de Prolog. % insertar un entero al inicio de la lista insertarInicio(X,L,[X|L]). % Insertar un elemento al final de una lista insertarFinal(X,[],[X]). insertarFinal(X,[L|Ls],[L|R]):-insertarFinal(X,Ls,R). % Insertar un entero en una lista de enteros indicandole la posicion insertar(E,[X|Xs],1,L):- L=[E,X|Xs],write("Fin"),nl,!. insertar(E,[X|Xs],P,L):- N1=P-1,write(N1),nl,insertar(E,Xs,N1,L1),L=[X|L1]. % Buscar un elemento en una lista pertenece(X,[X|_]):-!. pertenece(X,[_|Xs]):-pertenece(X,Xs). % Eliminar un elemento de una lista eliminar(X,[X|Xs],Xs):-!. eliminar(X,[Y|Ys],[Y|Lr]):-eliminar(X,Ys,Lr). % Eliminar ocurrencias de un elemento en una lista eliminarOcurrencias(_,[],[]):-!. eliminarOcurrencias(X,[X|Xs],Ys):- eliminarOcurrencias(X,Xs,Ys),!. eliminarOcurrencias(X,[Y|Ys],[Y|Lr]):-eliminarOcurrencias(X,Ys,Lr). % Determina si todos los elementos de una lista son iguales iguales([])....

Listas en Prolog

Insertar un entero en una lista de enteros, ademas de indicarle la posición de la lista P redicados insertar(E,[X|Xs],1,L):- L=[E,X|Xs],nl,!. insertar(E,[X|Xs],P,L):- N1=P-1,write(N1),nl,insertar(E,Xs,N1,L1),L=[X|L1]. Ejecutar insertar(2,[1,3,4,5,6],6,L).