Está en la página 1de 2

Prácticas de Lógica Computacional.

Aquí no hay quien estudie…Lógica


Curso 2006/07

Nuestro objetivo es implementar un programa en


PROLOG que dé como resultado un videojuego de tipo aventura conversacional. En este
momento ya conoces la historia que vas a desarrollar usando el lenguaje Prolog. Además ya sabes
que para hacer tu “pinitos” con este lenguaje y empezar a escribir el programa que describa la
aventura debes contar con un editor de texto (emacs) y un entorno de programación (SWI-Prolog).
El editor te permitirá escribir el programa en un fichero de texto (con extensión .pl) que después
compilarás y ejecutarás para obtener resultados. Vamos a comenzar y… ¡a ver qué sale!

Actividad 1.1: Crea un fichero PROLOG llamado [identifica]_fase1.pl

Actividad 1.2: Escribe las primeras líneas de tu programa para hacer que la consola
se borre cuando tu fichero [identifica]_fase1.pl sea cargado en el intérprete de SWI-
PROLOG (cuando se haga doble clic o un consult(‘fichero.pl‘), por ejemplo).

Actividad 1.3: Hacer que PROLOG escriba en la consola el título de la aventura, su


argumento inicial1, el nombre del autor o autores, el grupo de prácticas de lógica al que
pertenece(n) y un texto que diga “Escribe empieza. para dar comienzo a la aventura”.

y En cada fase (fasei, i = 1,…8) debes crear un fichero [identifica]_fasei.pl donde [identifica]
será el nombre que hayas elegido para identificar a tu grupo de compañeros con los que harás las
prácticas. Desde este momento hacemos que nuestro programa comience, pero aún no hace nada.
Para que pueda hacer lo que queremos será necesario incorporarle 2 partes principales: los datos
que describen la aventura, los personajes y el mundo, y las reglas lógicas de funcionamiento. De
esta forma, PROLOG sabrá cómo es el mundo y qué debe hacer para que funcione. Empezaremos
por incorporarle los primeros datos de descripción del entorno…

Actividad 1.4: Dile a PROLOG quiénes son los vecinos y cuáles son las zonas del
edificio. Para ello deberás escribir tantas sentencias declarativas: “HECHOS” en tu
programa como personajes y zonas tengas. Usa los siguientes predicados en las
declaraciones:
% vecino(X): X es un vecino del edificio
% zona(Y): Y es una zona del edificio

y Siempre que añadamos nueva información a una Base de Conocimientos o nuevas reglas a un
programa, es interesante que tengamos una forma de probar que lo que hemos hecho está bien.
En PROLOG haremos esto haciendo preguntas al sistema desde la consola. Según las respuestas
que nos dé, sabremos si lo que hemos escrito en el programa está bien o no tan bien… en este
caso será momento de rectificar.

1
NOTA: El título y argumento iniciales corresponden al enunciado de la práctica (Aquí no hay quien estudie…
Lógica). Se permite a los autores de cada práctica variar la redacción del mismo, siempre que el contenido se ajuste a
la historia que sea finalmente desarrollada.
Prácticas de Lógica Computacional. Aquí no hay quien estudie…Lógica
Curso 2006/07

Actividad 1.5: Haz una serie de preguntas a PROLOG para comprobar que los
hechos introducidos en la base de conocimientos son correctos. Tanto las preguntas
que hagas como las respuestas que te de el sistema debes añadirlas como
comentarios en el código de tu práctica. Si alguna de las respuestas crees que no
es correcta, coméntala y explica porqué crees que no lo es.
Æ Pregunta si Juan Cuesta, Javi Hierbas y Chusita son vecinos.
Æ Pregunta si parque es una zona del mapa.
Æ Pregunta si atico es un vecino.

• Para crear (o editar) un fichero, donde vas a escribir tu programa, invoca el editor de
texto :
? emacs(fichero_fase1.pl).

• Para compilar tu programa, una vez que estás en el editor emacs, ejecuta
“compile buffer” de tu fichero.

• Para borrar la pantalla hay que escribir por consola el texto ‘\033[2J‘, tal cual.

• Para escribir por pantalla debes escribir en tu programa líneas de la forma:


write(‘texto a escribir por pantalla‘).

• Para escribir un retorno de carro (salto de línea) por pantalla, se debe escribir por
consola ‘\n‘, tal cual.

• Para ejecutar una acción nada más cargar el programa se debe escribir una sentencia
llamada: “regla sin cabeza”.
:- cuerpo, ésta se ejecuta nada más cargar el archivo.

• Para hacer preguntas a tu programa debes escribir una sentencia “HECHO” en la


ventana del intérprete y pulsar Enter, el sistema te responderá.

También podría gustarte