PDF de programación - El lenguaje de programación PROLOG

Imágen de pdf El lenguaje de programación PROLOG

El lenguaje de programación PROLOGgráfica de visualizaciones

Publicado el 24 de Marzo del 2018
1.600 visualizaciones desde el 24 de Marzo del 2018
337,2 KB
157 paginas
Creado hace 22a (26/10/2001)
El Lenguaje de
Programación

PROLOG

De M. Teresa Escrig:

A mi marido Pedro Martín,
que aunque físicamente ya no esté aquí,
sigue presente en mi corazón y en mi recuerdo.

A Daniel y a mis padres,
por su amor incondicional que me ha ayudado a superar momentos muy duros.

A Sonia,
por la entrega que me hace poner en todo lo que vivimos juntos.

De Julio Pacheco:

De Francisco Toledo:

A Sergio y Mónica

Prefacio

Este libro ha nacido como resultado de ocho años de experiencia en la enseñanza
del lenguaje de programación PROLOG, impartida en cuarto curso de la carrera de
Ingeniería Informática de la Universidad Jaume I de Castellón.
La primera vez que me puse a programar en PROLOG, para el desarrollo de mi
tesis doctoral, recuerdo que me fascinó la forma de trabajar del lenguaje y los
resultados que se podían obtener con él. Claro que rompía los esquemas de otros
lenguajes de programación que conocía, como el Pascal y el C, lenguajes orientados
al procedimiento a seguir para resolver el problema. PROLOG tiene un punto de
vista más descriptivo o declarativo, es decir, especifica aquello que se quiere
conseguir para resolver el problema, no cómo se va a resolver. En todos estos años
que llevo en la enseñanza de este lenguaje, eso mismo les ha pasado a todos mis
alumnos y por eso sigo disfrutando de su enseñanza. Al finalizar las tres horas de
prácticas semanales, tengo que invitar a los alumnos, lo más amablemente posible y
con una sonrisa de satisfacción y complicidad en la boca, a que abandonen la sala
de ordenadores porque otro profesor con sus alumnos están esperando en la puerta.
PROLOG es un lenguaje de programación especialmente indicado para modelar
problemas que impliquen objetos y las relaciones entre ellos. Está basado en los
siguientes mecanismos básicos: unificación, estructuras de datos basadas en árboles
y backtracking automático. La sintaxis del lenguaje incluye la declaración de
hechos, preguntas y reglas. Con la definición de este pequeño conjunto de
conceptos se consigue un lenguaje de programación muy potente y flexible,
ampliamente utilizado (junto con el
lenguaje de programación LISP) en
aplicaciones que utilizan técnicas de Inteligencia Artificial.
PROLOG tiene sus fundamentos en la lógica matemática. En el plan de estudios
vigente en nuestra Universidad desde su comienzo en 1991, tanto el lenguaje
PROLOG como sus fundamentos lógicos, se estudian en la misma asignatura
“Lenguajes de Programación III”, en cuarto curso de la Ingeniería Informática. Los
fundamentos lógicos se ven en la parte teórica, en 25 horas, y el lenguaje PROLOG
en la parte de laboratorio, en 50 horas. Ambas partes comienzan a la vez, aunque la
parte teórica sea el fundamento de la parte práctica de la asignatura. Sin embargo,
como Ivan Bratko apunta en su libro “PROLOG. Programming for Artificial
Intelligence”: una introducción matemática fuerte no es conveniente si el propósito
es enseñar PROLOG como una herramienta de programación práctica. Así que el
presente libro sólo contiene los principios de enseñanza del PROLOG y sus
principales aplicaciones, tal y como son utilizadas en parte práctica de dicha
asignatura. Otro volumen de este mismo libro titulado “Principios de la
Programación Lógica” contiene los fundamentos en lógica de primer orden, tal y
como son utilizados en la teoría de la misma asignatura.
En este momento y hasta que se publique, este libro de teoría puede conseguirse en
la página web del grupo de investigación “Intelligent Control Systems” de la

I

Prefacio

Universidad “Jaume I” (http://ics.uji.es). También están disponibles en esta página
una selección de proyectos resueltos por los alumnos.
El contenido del libro se puede estructurar en tres partes. La parte I la forman los
capítulos 1, 2, 3 y 4 que constituyen la base para el aprendizaje del lenguaje
PROLOG, incluyendo el manejo de listas y el corte en PROLOG. La parte II está
compuesta por los cuatro capítulos siguientes; teniendo los capítulos 5, 6 y 7 las
principales aplicaciones de PROLOG, como las bases de datos, las gramáticas y los
sistemas expertos, y en el capítulo 8 aparece una extensión del PROLOG a la
programación lógica basada en restricciones. La parte III contiene el capítulo 9, que
consiste en el enunciado de varios proyectos de envergadura mediana, en el que se
utilizará el PROLOG como lenguaje de programación; un apéndice con la solución
a una selección de ejercicios; y la bibliografía referenciada en todo el libro. Cada
capítulo contiene, además, una bibliografía específica a cada tema, para facilitar su
estudio cuando es elegido como tema de proyecto.
En cada uno de los capítulos, la explicación del contenido está abundantemente
intercalada con ejemplos, para que el alumno los pruebe y comprenda su
funcionamiento, y ejercicios planteados que serán desarrollados por el alumno en el
laboratorio.
La idea es que todos los capítulos sean vistos y practicados en una sesión de
laboratorio de 3 horas, excepto los capítulos que hacen referencia al tratamiento de
listas y los que se refieren a los campos de aplicación del PROLOG como las bases
de datos, las gramáticas y los sistemas expertos, cuya duración prevista es de dos
sesiones de prácticas de 3 horas cada una. El objetivo es que quede tiempo de clase
guiada por el profesor para el desarrollo de un proyecto de mediana envergadura, ya
que el paso de solucionar problemas pequeños a solucionar problemas de mediana
envergadura no es trivial.
Este libro está orientado especialmente a los estudiantes de PROLOG en una
asignatura de características similares a las descritas en este prefacio, es decir para
alumnos que tengan unos conocimientos de ordenadores, bases de datos y
gramáticas, que podrían adquirirse en tres años de docencia en una carrera de
informática. Pero también está escrito para aquel lector que quiera aprender el
lenguaje PROLOG por su cuenta, y que no quiera quedarse sólo con aprender a
utilizarlo, sino que busque profundizar en su aplicación a áreas de Inteligencia
Artificial.
En este libro se ha elegido como entorno de programación ECLiPSe, que contiene
el PROLOG estándar y algunas extensiones para manejar bases de datos
(incluyendo bases de datos declarativas y bases de conocimiento), programación
lógica basada en restricciones (en concreto programación lógica basada en
restricciones sobre dominios finitos), y programación concurrente, entre otras
extensiones. La elección de ECLiPSe se hace por los siguientes motivos:

1) es compilado y por tanto más eficiente que otros entornos interpretados;
2)

tiene un entorno agradable de trabajo, con un depurador de programas
bastante bueno, que permite seguir paso a paso el funcionamiento del
PROLOG, lo cual es necesario para comprender su funcionamiento y en
definitiva para aprender a programar en PROLOG;

II

El Lenguaje de Programación PROLOG

3) se dispone de una licencia gratuita para docencia;
4) existe una versión para LINUX y otra para Windows NT (con posibilidad de
acoplarlo a Windows 95), que permite a los alumnos instalárselo en sus
ordenadores personales para hacer prácticas en casa;

5) es un potente entorno profesional que se sigue desarrollado actualmente.

Sin embargo, casi todos los predicados predefinidos de ECLiPSe pueden
encontrarse en otro entorno de programación, como puede ser SICStus Prolog.
Nuestro más ferviente deseo al escribir el libro es que el lector experimente el
lenguaje PROLOG y su aprendizaje como un desafío intelectual excitante.

Francisco Toledo Lobo
Julio Pacheco Aparicio
M. Teresa Escrig Monferrer

Julio de 2001

III

El Lenguaje de Programación PROLOG

Índice

PREFACIO...........................................................................................................................................................I

ÍNDICE................................................................................................................................................................V

1.

FUNDAMENTOS DE PROLOG..........................................................................................................9

Contenido .........................................................................................................................................................9
1.1. Introducción .............................................................................................................................................9
1.2. Los hechos PROLOG........................................................................................................................... 10
1.3. Las preguntas PROLOG...................................................................................................................... 10
1.4. Las reglas PROLOG............................................................................................................................. 13
1.5. La sintaxis PROLOG............................................................................................................................ 15
1.6. Significado declarativo y procedural de los programas................................................................ 18
1.7. El entorno de programación ECLiPSe............................................................................................ 19

2. TRATAMIENTO DE LISTAS EN PROLOG............................................................................... 21

Contenido .....................................................
  • Links de descarga
http://lwp-l.com/pdf9837

Comentarios de: El lenguaje de programación PROLOG (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad