Programacion en prolog
Escuela Universitaria de Ingeniería Técnica de Informática de Oviedo
Programación Práctica en Prolog
Jose E. Labra G.
http://lsi.uniovi.es/~labra
Área de Lenguajes y Sistemas Informáticos Departamento de Informática
Octubre - 1998
Tabla de Contenidos
1 2 3 Introducción _________________________________________________________ 3 Hechos____________________________________________________________
__ 3 Reglas ____________________________________________________________
__ 3
3.1 3.2 3.3 3.4 3.5 Reglas simples ______________________________________________________ 3 Reglas con Variables _________________________________________________ 4 Reglas Recursivas ___________________________________________________ 4 Utilización de funciones_______________________________________________ 4 Datos Compuestos ___________________________________________________ 4
4 5
Unificación __________________________________________________________ 4 Listas ____________________________________________________________
___ 6
5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 Definición _________________________________________________________ 6 Recorrer unalista ____________________________________________________ 6 Recorrer una lista tomando elementos de dos en dos___________________________ 7 Búsqueda de elementos en una lista _______________________________________ 7 Generación de una lista mediante concatenación de otras dos ____________________ 8 Descomposición de una lista en partes_____________________________________ 8 Generación de una listafiltrando elementos de otra lista ________________________ 9 Aplicación de un predicado a todos los elementos ____________________________ 9 Permutaciones de una lista _____________________________________________ 9
6 7
Aritmética ___________________________________________________________ 9 Aritmética con Listas _________________________________________________ 11
7.1 7.2 7.3 7.4 7.57.6 7.7 7.8 Obtener un valor a partir de una lista _____________________________________ Acumulación de Resultados ___________________________________________ Combinación miembro a miembro de los elementos de dos listas ________________ Generación de una lista a partir de un valor ________________________________ Generación de listas por filtrado de elementos ______________________________Clasificación de listas________________________________________________ Creación de otra estructura a partir de una lista______________________________ Otras Estructuras Recursivas___________________________________________ Conversión de tipos _________________________________________________ Chequeo de tipos ___________________________________________________ Inspección de estructuras_____________________________________________ Predicados meta-lógicos ______________________________________________ 11 11 11 11 12 12 13 13 14 14 15 16
8
Predicados Internos __________________________________________________ 14
8.1 8.2 8.3 8.4
8.4.1 8.4.2 8.4.3
Chequeo de tipo________________________________________________________
___ 16 Comparación de términos no básicos___________________________________________ 16 Conversión de Datos en Objetivos _____________________________________________ 17 Aplicaciones del Corte ______________________________________________________ 18 Entrada/Salida ____________________________________________________________
21 Acceso a la Base de Datos ___________________________________________________ 23
8.5 8.6 8.7
Corte____________________________________________________________
18 Predicados Extra-lógicos _____________________________________________ 21 Predicados de Segundo Orden__________________________________________ 24
8.5.1 8.6.1 8.6.2
9
Ejercicios Propuestos _________________________________________________ 25
10 Bibliografía Comentada _______________________________________________ 28 11 Indice...
Regístrate para leer el documento completo.