Está en la página 1de 8

1

Ing. Sal Prez Vega



Programacin Lgica

INTRODUCCIN

El software que usaremos para la prueba y ejecucin de los algoritmos
desarrollados en aula ser el Visual Prolog 5.2, el cual es sencillo de manejar
por su entorno prctico, y permitir al alumno digitar sus soluciones
algortmicas para probar la lgica de sus planteamientos.

En la estructura del visual prolog, contiene 4 secciones muy bien diferenciadas:
Domains
Predicates
Clauses
Goal

I. OBJETIVOS
a) Al trmino de este laboratorio, el estudiante ser capaz de:
b) Conocer el Visual Prolog
c) Identificar claramente las Secciones en Visual Prolog
d) Plantear correctamente el uso de Variables en Prolog
e) Usar correctamente el programa el Test Goal para las consultas.

II. EQUIPOS Y MATERIALES
a) Computadora personal
b) Programa Visual Prolog 5.2 instalado
c) Cuaderno de clases, donde estn los ejercicios resueltos y propuestos.

III. METODOLOGIA Y ACTIVIDADES
a) Encender el computador.
b) Crear carpeta donde guardar sus programas.
c) Ingresar al Visual Prolog 5.2
d) Codificar la solucin de cada ejercicio propuesto y subirlo a la
plataforma Chamilo, en la seccin TAREA.
e) Para consultas las puede hacer en la semana de clases con al docente o
jefe de prctica encargado para la calificacin correspondiente.
f) Guardar la carpeta con sus archivos en la nube (onedrive, Dropbox, .).

IV. IMPORTANTE
Antes de comenzar a manipular el Visual Prolog 5.2, crearemos siempre, una
carpeta, donde se guardarn todos los programas realizados en el presente
laboratorio.

V. MANEJO DEL SOFTWARE
GUA PRCTICA SESIN N 2
Facultad: Ingeniera de Electrnica y Sistemas. Asignatura: Programacin Lgica
Ciclo: VIII Semestre Acadmico: 2014 - II
Docente: Ing. Sal Prez Vega

Sesin 2: Introduccin a Visual Prolog


2
Ing. Sal Prez Vega

Programacin Lgica
Para ingresar al Visual Prolog puede verificar en el escritorio del Windows si
aparece el icono de acceso directo y de doble clic sobre l, sino aparece,
puede dirigirse al Botn Inicio seleccionar la opcin Programas, y de la lista
que se despliega, seleccionar Visual Prolog.

Se mostrar la siguiente ventana, que es el entorno de trabajo.


Seleccionar el primer cono o desde el men principal



VI. Conociendo el Lenguaje

Los Comentarios en Visual Prolog
/*
Estos son para comentarios para varias lneas
*/



3
Ing. Sal Prez Vega

Programacin Lgica
Domains
nombre= symbol % comentario para una lnea
..

Uso de Constants
Constants es una palabra reservada en visual Prolog y se usa de la siguiente
manera:

Constants
%hallar el rea del rectngulo
pi = 3.1416
r = 5
Goal
A=pi,
B=r,
Area=A*B.


PARTE 1: Introduccin a Programacin Lgica (Visual Prolog)

Los programas en Prolog tienden a desarrollar consultas en base a
predicados establecidos y la consulta lo busca en las clausulas.

Desarrollar el siguiente programa:


Domains
nombre = symbol
Predicates
animal(nombre)
Clauses
animal (perro).
animal (gato).
animal (conejo).
animal (loro).
Goal
animal(loro).


Guardar su archivo, extensin es *.pro, para ello hacemos file save as
..

Anlisis de las secciones:

La estructuracin de un programa en Visual Prolog contiene estas
partes, requeridas necesariamente:



4
Ing. Sal Prez Vega

Programacin Lgica
Domains: aqu se definen los tipos de datos que se han de usar en los
predicados, un parmetro definido en el Domains puede usarse en
varios predicados, por ejemplo,

descripcin, apellido, nombre = symbol
edad = integer
letra = char

Predicates: aqu se define la estructura del predicado y sus parmetros,
cada parmetro del predicado debe estar definido en el Domains con un
tipo de dato, los predicados no terminan en punto, as por ejemplo:

animal(nombre)
alumno(nombre,edad,)
amigos( nombre,nombre)

Clauses: contiene la definicin especfica de los predicados

animal(perro). animal(gato).
alumno(Juan, 21).
amigos( luis,Pedro).

El smbolo de culminacin se determina por un punto.

Goal: contiene las consultas a desarrollar en el programa

El prolog permite como se indic extraer consultas lgicas de los que
sucede en el conocimiento expresado resultando estas consultas
verdaderas o falsas (YES, NO) segn corresponda, aqu se han de
ubicar las preguntas necesarias ejemplo es animal es el loro:

animal(loro).

Para poner en memoria todas las clausulas y ver la consulta ejecute Test
Goal del men de proyecto o su equivalente CTRL+G o simplemente
apretando el botn G de la barra de botones.

Luego observara una ventana de sugerencias y errores y otra ventana
que muestra el resultado de la consulta en este caso YES.

PARTE 2: Entendiendo y Mejorando el Programa

animal(perro).
animal(gato).
animal(conejo).
animal(loro).

Indican que "El perro es animal", "el loro es animal". Tras "ejecutar" el
programa, se pueden hacer estas consultas:


5
Ing. Sal Prez Vega

Programacin Lgica

animal(loro). Es animal el loro? Esta es una meta
Yes Si, es la respuesta

En vez de la consulta anterior se usar las Variables en una nueva
consulta:

Goal: animal(X).







X es una variable, por convencin se escribe con mayscula.

Aadir en la seccin de los predicados nondeterm al predicado animal, esto
sirve para liberar la variable que ha sido instanciada y puede seguir
instanciando a otros objetos.

Al ejecutar la consulta la respuesta ser:

X=perro
X=gato
X=conejo
X=loro

4 soluciones

Esto corresponde a las especificaciones que se han definido
anteriormente en las clusulas.

Si desea aumentar las especificaciones puede ubicar

animal(oso).
animal(jirafa).

La respuesta permitir mostrar todas las soluciones para X. (instancias)

Consideracin:

Si desea mejorar su aplicacin utilizar doble comillas todo su programa
todas las especificaciones de las clusulas el paquete generara de mejor
forma estas definiciones ubicndolas de un color respectivo.

El programa quedara:




6
Ing. Sal Prez Vega

Programacin Lgica
Domains
nombre = symbol
Predicates
animal(nombre) %Predicado nico no siempre ser as
Clauses
animal("Loro").
animal("Perro").
animal("Gato").
animal("Oso"). % Clusulas agregadas
animal("Jirafa").
Goal
animal(X). %Consulta



PARTE 3: Ejercicios de Aridad

La aridad de un predicado, consiste en el nmero de argumentos que
tiene.

% Programa con hechos de aridad cero -
predicates
uno dos tres cinco siete
clauses
uno.
dos.
tres.
cinco.
siete.
goal
cinco, write("Encontrado"),nl.

Dado los siguientes predicados, construir el programa con las cuatro secciones
de prolog y listar todos los hechos.

EJERCICIOS PROPUESTOS

3.1 jugador(nombre,apellido,edad)

Desarrollo:
- Ingresar 5 jugadores
Consultas
- Listar a todos los jugadores
- Listar a los jugadores mayores a 22 aos
- Listar a los jugadores menores de edad


7
Ing. Sal Prez Vega

Programacin Lgica


3.2 producto(cdigo,descripcin,stock,precio)

Desarrollo:
- Ingresar 5 productos
Consultas
- Listar todos los productos
- Listar los productos cuyo precio este en el rango [150 .. 450]
- Listar todos los productos cuyo stock estn en el rango de [1 .. 15> y el
precio este en el rango [15 .. 150]


3.3 curso(cdigo, nombre, crditos, prerequisito)
Desarrollo:
- Ingresar 10 cursos de la escuela
Consultas
- Listar todos los cursos
- Listar los cursos que tienen 4 creditos
- Listar los cursos que no tengan prerequisitos


3.4 boleta(numero_boleta,fecha,cliente,total,vendedor)

Desarrollo:
- Ingresar 5 boletas
Consultas
- Listar todas las boletas
- Listas todas las boletas cuyo total estn en el rango de [200 .. 550] del
mes de febrero del 2014

3.5 empleado(cdigo, nombre, ape_pat, ape_mat, sexo, estado_civil, edad, ojos,
cabellos)





8
Ing. Sal Prez Vega

Programacin Lgica
Desarrollo:
- Ingresar 10 empleados
Restricciones:
- Sexo: Masculino, Femenino
- Estado Civil: Soltero, Casado, Viudo, Divorciado, Konviviente
- Ojos: Negros, Pardos, Verdes, Azules, Celestes
- Cabellos: Negro, Castao, Rubio, Otros
Consultas
- Listar a todos los empleados
- Listar a todos los empleados mujeres que sean solteras
- Listar a todos los empleados hombres, divorciados y de cabellos negros
- Listar a todos los empleados mujeres solteras o divorciadas cuya edad este en
el rango [19 28], de ojos verdes
- Listar a todos los empleados casados o konvivientes, cuya edad este en el
rango [25 45], de ojos negros, cabellos negros
- Listar a todos los empleados mujeres solteras, casadas o divorciadas, cuya
edad este en el rango [25 35], de ojos azules o celestes, de cabellos
castaos o rubios.

También podría gustarte