programacion
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
Introducción _________________________________________________________ 3
2
Hechos______________________________________________________________ 3
3
Reglas ______________________________________________________________ 3
3.1
3.2
3.3
3.4
3.5
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
6
7
Definición_________________________________________________________ 6
Recorrer una lista ____________________________________________________ 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 enpartes_____________________________________ 8
Generación de una lista filtrando elementos de otra lista ________________________ 9
Aplicación de un predicado a todos los elementos ____________________________ 9
Permutaciones de una lista _____________________________________________ 9
Aritmética ___________________________________________________________ 9
Aritmética con Listas_________________________________________________ 11
7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.8
8
Reglas simples ______________________________________________________ 3
Reglas con Variables _________________________________________________ 4
Reglas Recursivas ___________________________________________________ 4
Utilización de funciones _______________________________________________ 4
Datos Compuestos___________________________________________________ 4
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 deelementos ______________________________
Clasificación de listas________________________________________________
Creación de otra estructura a partir de una lista______________________________
Otras Estructuras Recursivas___________________________________________
Predicados Internos __________________________________________________ 14
8.1
8.2
8.3
8.4
Conversión de tipos_________________________________________________
Chequeo de tipos ___________________________________________________
Inspección de estructuras _____________________________________________
Predicados meta-lógicos ______________________________________________
8.4.1
8.4.2
8.4.3
8.5
8.6
Chequeo de tipo___________________________________________________________ 16
Comparación de términos no básicos___________________________________________ 16
Conversión de Datos en Objetivos _____________________________________________ 17
Aplicaciones del Corte ______________________________________________________ 18
Predicados Extra-lógicos _____________________________________________ 21
8.6.1
8.6.2
8.7
14
14
15
16
Corte ____________________________________________________________18
8.5.1
9
11
11
11
11
12
12
13
13
Entrada/Salida ____________________________________________________________ 21
Acceso a la Base de Datos ___________________________________________________ 23
Predicados de Segundo Orden__________________________________________ 24
Ejercicios Propuestos _________________________________________________ 25
10 Bibliografía Comentada...
Regístrate para leer el documento completo.