Vous êtes sur la page 1sur 5

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA

ESCUELA DE FORMACIN PROFESIONAL DE INGENIERA DE SISTEMAS


LABORATORIO 1
ENTORNO DE PROGRAMACIN SWI PROLOG
OBJETIVOS
Los objetivos de sta prctica son:

Conocer swi Prolog.


Conocer el manejo de swi Prolog.
Conocer la forma de declarar y utilizar los predicados
Desarrollar ejemplos en modo consola o texto.

Prolog es un lenguaje de programacin hecho para representar y utilizar el


conocimiento que se tiene sobre un determinado dominio. El dominio es un
conjunto de objetos y el conocimiento se representa por un conjunto de
relaciones que describen las propiedades de los objetos y sus interrelaciones. Un
conjunto de reglas que describa estas propiedades y estas relaciones es un
programa Prolog.

Prolog es un lenguaje de programacin que es usado para resolver problemas que


envuelven objetos y las relaciones entre ellos.
1. TIPOS DE DATOS EN PROLOG
Symbol
Hay dos tipos de smbolos:
1. Un grupo de caracteres consecutivos (letras, nmeros y signos de subrayado)
que comienzan con un carcter en minscula
Ejemplo: Alto,Alto_edificio,El_alto_edificio_en_la_ciudad
2. Un grupo de caracteres consecutivos (letras y nmeros) que comienzan y
terminan con dobles comillas("). Este tipo es til cuando se quiere comenzar el
smbolo con un carcter en mayscula o si se quieres agregar espacios entre los
caracteres del smbolo.
Ejemplo:"alto","alto edificio"
String
Cualquier grupo de caracteres consecutivos (letras y nmeros) que comience y termine
con dobles comillas("). Es igual a smbolo pero Prolog los trata de forma distinta.
Ejemplo:"alto","alto edificio"
.

Lab. Sistemas Expertos

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA


ESCUELA DE FORMACIN PROFESIONAL DE INGENIERA DE SISTEMAS
Integer
Cualquier nmero comprendido entre (-32.768 y 32.768). El lmite esta determinado
porque los enteros se almacenan como valores de 16 bits, este lmite puede variar segn
la versin de Prolog.
Ejemplo:4,-300,3004
Real
Cualquier numero real en el rango +/- 1E-307 a +/-1E+308. El formato incluye estas
opciones: signo, numero, punto decimal, fraccin, E(exponente), signo para el
exponente, exponente.
Ejemplo:3,3.1415
Char
Cualquier carcter de la lista ASCII estndar, posicionado entre dos comillas sencillas
().

Ejemplos:t,X PROLOG est orientado a la resolucin de problemas mediante


el clculo de predicados, basado en:
Preguntas a la base de datos.
Pruebas matemticas.
El programa PROLOG especifca cmo debe ser la solucin, en vez de dar el
algoritmo para su resolucin. La solucin se obtiene mediante bsqueda
aplicando la lgica de predicados.

Objetos de datos

Tipos de datos primitivos: variables y constantes:


Enteros
Reales
Caracteres
Los identificadores con minscula representan hechos, los que van con
mayscula variables. El alcance de una variable es la regla donde aparece.

Lab. Sistemas Expertos

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA


ESCUELA DE FORMACIN PROFESIONAL DE INGENIERA DE SISTEMAS
1.

EL ENTORNO DE SWI PROLOG

PARTE 1: Corriendo el Primer Programa en Prolog


Los programas en Prolog a lo que tienden es a desarrollar consultas en base a
predicados que se escriben en un "programa" de Prolog. Tras "correr" el
programa, se pueden hacer estas consultas.
Para ejecutar Prolog, nos dirigimos al men inicio, una vez dentro realizamos lo
siguiente:

Se da el nombre del archivo con extensin .pl que ser la base de conocimiento y
agregar los siguientes hechos. (es un archivo de texto)

Lab. Sistemas Expertos

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA


ESCUELA DE FORMACIN PROFESIONAL DE INGENIERA DE SISTEMAS

Compilar el archivo Compile/compile buffer

Realizar las consultas en la consola de prolog


Oro es un metal ?

Y la respuesta es true porque el hecho existe en la base de conocimiento.


.

Lab. Sistemas Expertos

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA


ESCUELA DE FORMACIN PROFESIONAL DE INGENIERA DE SISTEMAS
Oro es un plata ? justifique la respuesta
Bronce es un metal ?

Quines son metales ?

Agrege el siguiente hecho


Bronce es un metal
y realice la consulta bronce es metal? quines son metales?

Predicates: aqu se definen todos los predicados que se han de definir, en las
clusulas equivaldra a la definicin de funciones en lenguaje C, , as por
ejemplo:
valioso(metal)
Hermano(hombre, hombre)
amigos( hombre,hombre,hombre)
El prolog permite como se indico 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 valioso el oro:
valioso(oro).
Ejercicio: represente el siguiente conocimiento:
Dan es hijo de Juan, Pedro es hijo de Dan y Ivan es hijo de Dan
Maria y Susana son hermanas, Harold Larry son hermanos,Ivan ySimon son
Hermanos, Juan esta casado con maria y Larry con Sue.
Implemente 5 consultas como mnimo.

Lab. Sistemas Expertos

Vous aimerez peut-être aussi