ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Minimanualillo de SWI-Prolog


Enviado por   •  13 de Septiembre de 2011  •  3.762 Palabras (16 Páginas)  •  630 Visitas

Página 1 de 16

Minimanualillo de SWI-Prolog

Roberto Torres de Alba

22 de marzo de 2006

´Indice

1. Introducci´on 2

2. Comandos b´asicos 2

3. Sintaxis de Prolog 2

4. Ayuda 4

5. Consultando y modificando programas 5

5.1. Consultar programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

5.2. Errores y avisos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

5.3. Mostrar base de clausulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

5.4. Modificando la base de clausulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

6. Depurador 6

6.1. Depurador en modo texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

6.2. Depurador gr´afico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

7. Manejo de t´erminos 8

7.1. Jerarqu´ıa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

7.1.1. ´Atomos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

7.1.2. N´umeros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

7.2. Escritura y lectura de t´erminos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

8. Listas 12

9. Conjuntos 12

10.Manejo de archivos 12

11.Todas las soluciones a un objetivo 13

1

1. Introducci´on

Este peque˜no manual pretende ser una introducci´on al uso de SWI-Prolog poni´endolo en relaci´on

con los conceptos de la asignatura de Programaci´on L´ogica de las Ingenier´ıas T´ecnicas de Gesti´on y de

Sistema. La versi´on sobre la que versa este manual es la ´ultima que se puede encontrar, a d´ıa de hoy,

en la p´agina www.swi-prolog.com, que es la 5.6.6 para Windows NT/2000/XP.

2. Comandos b´asicos

Una vez instalado SWI-Prolog y procediendo a su ejecuci´on observamos el shell visto como un n´umero

m´as los caracteres ”?-”. Desde ah´ı es de donde vamos a ajecutar todos los objetivos. Los siguientes

apartados explican de forma muy general todo aquello que es fundamental conocer a la hora de usar

este int´erprete.

1. Consultar un programa Prolog: la manera m´as f´acil de consultar un programa Prolog es usando el

men´u file/consult y navegando por los directorios. Tambi´en existe la posibilidad de hacerlo desde

el shell escribiendo el nombre del programa, sin la extensi´on ”.pl”, encerrada por corchetes ”[ ]” y

seguida de punto. Ej:

[mi_prog].

2. Ayuda: SWI-Prolog posee una ayuda gr´afica f´acil de usar. Basta con poner en el shell ”help.”. Si

se quiere consultar un tema o un predicado en concreto basta con escribir el tema de la siguiente

forma: help(Tema).

3. Ejecuci´on de objetivos: para ejecutar un objetivo simplemente lo escribimos en el shell (seguido de

punto). Si el objetivo no tiene ´exito SWI-Prolog responder´a ”no”. Si ha tenido ´exito y el objetivo

ten´ıa variables entonces devolver´a la unificaci´on de esas variables que ha producido el ´exito y el

programa esperar´a una acci´on del usuario. Ahora debemos escribir un ´unico car´acter. Si buscamos

m´as respuestas escribiremos ”;” (punto y coma), si no pulsamos enter. Para una lista de comandos

escribimos ”h”.

4. Depuraci´on: Para entrar en el modo trace hay que escribir ”trace.”. Al lado del shell deber´ıa

aparecer la palabra ”[trace]”. Para salir de este modo hay que escribir ”notrace.” y ”nodebug.”.

Existe la posibilidad de utilizar un depurador gr´afico escribiendo ”guitracer.”

3. Sintaxis de Prolog

Cualquier programa en Prolog tiene que estar escrito en un fichero de texto plano (sin formato). La

manera m´as sencilla es usar el Bloc de Notas. Dicho archivo debe poseer la extensin ”.pl” para indicar

que contiene c´odigo fuente de Prolog.

Un programa Prolog est´a formado con un conjunto de hechos y de reglas junto con un objetivo. El

archivo del c´odigo fuente de Prolog contendr´a el conjunto de hechos y de reglas y el objetivo ser´a lanzado

desde el shell de SWI-Prolog.

Existen ciertas consideraciones sobre la sintaxis de Prolog:

1. Variables:

El identificador de una variable tendr´a que tener su primera letra en may´usculas.

Ej: X, Atapuerca, Cobaltina, RADgtfCdf

2

2. Constantes:

La primera letra de una constante deber´a estar escrita en min´usculas.

Ej: a, incienso, roberto, rADgtfCdf

Tambi´en se consideran constantes a los n´umeros,

Ej: 1, 5.02, 0.7

las palabras entre comillas simples

Ej: ’a’, ’A’, ’a a’

y la lista vac´ıa [ ].

3. Funciones:

Al igual que las constantes, su primera letra debe ser una min´uscula. Deber´a estar seguido de un

conjunto de t´erminos (otras funciones, variables o constantes) encerrados entre par´entesis.

Ej: f(c,X), conc arbol(Hijo Izq, Raiz, Hijo Der), rADgtfCdf(RADgtfCdf, rADgtfCdf)

4. Predicados:

Su sintaxis es la misma que la de las funciones aunque, por su localizaci´on dentro de la cl´ausula (es

decir, dentro del programa Prolog), el compilador los identificar´a como tal, y no como funciones.

Ej: f(c,X), conc arbol(Hijo Izq, Raiz, Hijo Der), rADgtfCdf(RADgtfCdf, rADgtfCdf)

Tambi´en existe la posibilidad de tener predicados 0-arios.

5. Hechos:

Son cl´ausulas de Horn que poseen un ´unico predicado en la cabeza y ninguno en el cuerpo. Tienen

la siguiente forma en sintaxis de l´ogica de primer orden:

P

En Prolog no se escribe la flecha sino que se pone un punto al final:

p.

donde p es un predicado y tiene que seguir su sintaxis. Ej:

padre(aaron, maria).

compositor(shostakovich).

shostakovich(compositor).

6. Reglas:

Son cl´ausulas de Horn que poseen un ´unico predicado en la cabeza y uno o m´as en el cuerpo.

Tienen la siguiente pinta:

P Q1,Q2,Q3 escritos en sintaxis clausular o

P Q1 ^ Q2 ^ Q3 escritos en sintaxis de l´ogica de primer orden.

En Prolog la flecha se sustituye por ”:-”, las conectivas conjuntivas se escriben como comas ”,” y

la regla termina en punto:

p :- q1, q2, q3.

donde, al igual que los hechos, p y q1, q2 y q3 son predicados. Ej:

cuadrado(X) :-

...

Descargar como (para miembros actualizados)  txt (24 Kb)  
Leer 15 páginas más »
Disponible sólo en Clubensayos.com