martes, 20 de marzo de 2012

Estructura de un programa PROLOG

Un programa Prolog está formado por una secuencia de enunciados: hechos, reglas y comentarios.

Una relación puede estar especificada por hechos, simplemente estableciendo objetos que satisfacen la relación o por reglas establecidas acerca de la relación.

Cada regla está formada por un primer miembro (o la cabeza de la regla), un segundo miembro (o cola de la regla) ligados por " :- " y termina con el carácter " . ".

Código del programa

** Hechos **

mujer(maria).

hombre(pedro).

hombre(manuel).

hombre(arturo).

** Relaciones **

padre(pedro,manuel).

padre(pedro,arturo).

padre(pedro,maria).


Hechos

Un hecho, en PROLOG, es una relación entre objetos.


Ejemplo: La capital de Francia es París.

En Prolog se escribe capital (francia,parís).

En general, la sintaxis es relación(objeto, objeto, ...).

La relación se conoce como el predicado y los objetos como los argumentos. Los nombres de todos los predicados y argumentos deben de comenzar con una letra minúscula.

Primero, se escribe el predicado. Los argumentos se escriben separándolos mediante comas y encerrados entre paréntesis.

Al final del hecho debe ir un punto.


Reglas

Una regla consta de dos partes, una cabeza y un cuerpo. La cabeza y el cuerpo están unidos mediante el símbolo:

cabeza:-cuerpo.

El cuerpo puede estar formado por varios hechos.

cabeza :- hecho1, hecho2, ..., hechon.

La separación: Se lee "si"(la cabeza es verdad si el cuerpo es verdad.)


Ejemplo: Es divisible por dos(X):-par(X). (Se lee X es divisible por dos si X es par.).

Esta cláusula en Prolog es equivalente a la fórmula de primer orden (8 X) par(X) ) Es divisible por dos(X).

Por tanto, si podemos probar que X es par entonces hemos probado que X es divisible por dos. En la cabeza de una regla no puede haber más de un hecho.


Ejemplo: rico(juan)feliz(juan)^poderoso(juan)

No se puede expresar directamente en Prolog como feliz(juan),poderoso(juan):-rico(juan).


Variables

Las variables se utilizan para escribir hechos y reglas generales.

Los nombres de las variables deben comenzar con letra mayuscula o con el carácter ( ).


Ejemplos:

Mi primer nombre de variable Persona a123

Para Prolog, dos nombres idénticos para una variable sólo se refieren al mismo objeto si están en la misma cláusula.

Por tanto, en el siguiente ejemplo,

feliz(X):-tiene salud(X).

legusta(juan,X):-le gusta(juan,X).

La variable X de la primera cláusula no se refiere al mismo objeto que en la segunda.


No hay comentarios: