CURSO DE INTELIGENCIA ARTIFICIAL Y ROBOTICA TEMA 2: NOCIONES DE PROLOG. 2.4. Búsqueda de soluciones. 2.4.1 Predicados de Entrada/Salida standard. Aunque el objetivo para este curso es dar lospredicados propios que conforman la sintaxis de prolog y concentrarnos únicamente en su estilo de programación. Por necesidades de interfaces veremos los predicados que están relacionados con la entrada ysalida de términos. Entrada standard. El predicado que se usa para leer la entrada standard es read(Termino). Durante la ejecución del programa, al final de cada termino debe teclear un “.” Para leercaracteres se utiliza get(Carácter). Y retorno el código ASCII del carácter leído. Salida estándar. Para la salida se usa el predicado write(Termino). Al igual put(Carácter). Escribe caracteres simples,recibiendo como argumento el código ASCII. También existe Display(Termino). Tiene el mismo efecto que write. Ejemplo: programa:- lee(A), lee(B), suma(A,B,S), imprime(S). lee(X):- display('dato: '),read(X). suma(X,Y,Z):- Z is X + Y. imprime(X):- display('resultado: '), write(X).
A la hora de ejecutarlo: ?- programa. dato: 15. dato: 13. resultado: 28 yes No se les parece este programa a losrealizados en Basic, Pascal, etc. CUESTIONARIO: Considera usted que le ejemplo anterior puede ser considerado como programación declarativa. Explique. 2.4.2 Estructuras y arboles. Una estructura sepuede escribir en forma de árbol, en la que cada functor es un nodo y los componentes son las ramas. Cada rama puede señalar a otra estructura. Ejemplos: parientes(carlos, elisa, felipe) ParientesCarlos Elisa
Felipe
a + b x c ⇔ + (a, x (b, c) ) + a x b c
libro (moby_dick, autor (hernan, melville) libro
moby_dick
autor
hernan
melville
Observen que las estructuras arbóreasdespués se pueden llevar a cualquier tipo de lenguaje: Prolog – functores, Lisp – listas, Pascal – registros.
CUESTIONARIO: Desarrolle el árbol para el siguiente functor: hijo(juan, padres(pedro,...
Leer documento completo
Regístrate para leer el documento completo.