Investigacion de Prolog
Investigacion de Prolog
Investigacion de Prolog
Alumno:
CARRERA:
GRUPO:
603.
Tema:
Investigación de PROLOG
MATERIA:
Fecha:
Referencias ............................................................................................................. 8
i
Operadores aritméticos y relacionales.
1
posición-asociatividad Y
25. current_op(X,Y,Z) Busca el operador ya declarado de nombre Z con clase
de precedencia X y posición-asociatividad Y
Clasificación de términos:
2
numeric(X) Se cumple si X representa en ese momento un número
integer(X) Se cumple si X representa en ese momento un número entero
real(X) Se cumple si X representa en ese momento un número real
Funciones aritméticas:
3
sin(X) Seno de la expresión X (angulo en radianes)
cos(X) Coseno de la expresión X (angulo en radianes)
tan(X) Tangente de la expresión X (angulo en radianes)
asin(X) Arcoseno (angulo en radianes) de la expresión X
acos(X) Arcocoseno (angulo en radianes) de la expresión X
atan(X) Arcotangente (angulo en radianes) de la expresión X
log(X) Logaritmo neperiano de la expresión X
log10(X) Logaritmo en base 10 de la expresión X
exp(X) e elevado al resultado de la expresión X
pi Constante matemática pi (3.141593)
e Constante matemática e (2.718282)
Manejo de listas:
4
get0(X) Se cumple si X puede hacerse corresponder con el siguiente
carácter encontrado en el canal de entrada activo (en código ASCII)
get(X) Se cumple si X puede hacerse corresponder con el siguiente
carácter imprimible encontrado en el canal de entrada activo
skip(X) Lee y pasa por alto todos los caracteres del canal de entrada
activo hasta que encuentra un carácter que coincida con X
read(X) Lee el siguiente término del canal de entrada activo
put(X) Escribe el entero X como un carácter en el canal de salida activo
nl Genera una nueva línea en el canal de salida activo
tab(X) Escribe X espacios en el canal de salida activo
write(X) Escribe el término X en el canal de salida activo
write_ln(X) Escribe el término X en el canal de salida activo y salta la
línea
writef(X,Y) Escribe en el canal de salida activo, siendo X el formato e Y
la lista con los argumentos a escribir
display(X) Escribe el término X en el canal de salida activo, pasando por
alto las declaraciones de operadores
Manejo de ficheros:
5
listing(X) Siendo X un átomo, se escriben en el fichero de salida activo
todas las cláusulas que tienen como predicado dicho átomo
clause(X,Y) Se hace coincidir X con la cabeza e Y con el cuerpo de una
cláusula existente en la base de conocimiento
assert(X) Permite añadir la nueva cláusula X a la base de conocimiento
asserta(X) Permite añadir la nueva cláusula X al principio de la base de
conocimiento
assertz(X) Permite añadir la nueva cláusula X al final de la base de
conocimiento
retract(X) Permite eliminar la primera cláusula de la base de
conocimiento que empareje con X
retractall(X) Permite eliminar todas las cláusulas de la base de
conocimiento que emparejen con X
abolish(X) Retira de la Base de Conocimiento todas las cláusulas del
predicado X
abolish(X,Y) Retira de la Base de Conocimiento todas las cláusulas del
predicado de nombre X y número de argumentos Y
6
notrace Desactiva el seguimiento exhaustivo
notrace(X) Desactiva el seguimiento mientras dure la llamada al
objetivo X
spy(X) Fijación de puntos espía en el predicado X
nospy(X) Elimina los puntos espía especificados
nospyall Elimina todos los puntos espía
debugging Ver el estado del depurador y los puntos espía se han
establecido hasta el momento
debug Inicia el depurador
nodebug Desactiva el depurador
Reglas recursivas
Por ejemplo:
7
Referencias