miércoles, 4 de junio de 2014

PRACTICANDO CON PROLOG UNIDAD DOS

SINTEXIS Y SIGNIFICADO DE LOS PROGRAMAS


Tipos básicos de datos.

Prolog reconoce el tipo de un objeto por su sintaxis (en Prolog no es necesario declarar el tipo de un dato) :


Átomos.
Se pueden construir de tres formas:
1). Cadenas de letras, dígitos y el símbolo de subrayado (_), pero comenzando siempre con una letra minúscula.
Ejemplos :
ana nil x25 x_25 x_25 AB x_ x_y a_b_c
2). Cadenas de caracteres especiales.
Ejemplos: <---> ===> ... .:. ::=
3). Cadenas de caracteres encerrados en comillas simples (').
Ejemplos: 'Tomas' 'Juan_Hernandez' 'Jose Lopez Lopez'

Números.
Pueden ser enteros ó reales :
Ejemplos: 1 -97 3.141592 -1.2 0

Variables.
Son Cadenas de letras, dígitos y el símbolo de subrayado ( _ ) que comienzan siempre con una letra mayúscula ó un símbolo de subrayado.
Ejemplos: X Nombre_1 _x23 _55

Estructuras.
Son objetos que tienen varios componentes.
Ejemplo: fecha( 20, agosto, 1992)
fecha recibe el nombre de functor; En este caso todos sus componentes son constantes pero pueden ser variables ó incluso estructuras. Aunque las estructuras tienen varios componentes, en los programas Prolog se tratan como objetos únicos. Es decir, en Prolog, todos los objetos son términos.
Ejemplo: agosto y fecha( 20, agosto, 1992)


Matching (empatamiento).


La operación más importante sobre los términos es la de matching (empatamiento).
Dados dos términos cualesquiera decimos que "empatan" si se cumple lo siguiente :
(1). Son idénticos; ó,
(2). Las variables en ambos términos pueden instanciarse a objetos de tal modo que después
de la sustitución de las variables por estos objetos los términos puedan ser idénticos.


Significado declarativo.


Los programas Prolog pueden entenderse de dos maneras: declarativa y proceduralmente.

Significado Declarativo.

El significado declarativo de los programas determina si una meta dada es cierta, y si es el caso, para qué valores de las variables es cierta.
Para definir de manera más precisa el significado declarativo, necesitamos introducir antes el concepto de "instancia" de una cláusula.
Una instancia de una cláusula C es la cláusula C con cada una de sus variables sustituidas por algún término. Una "variante" de una cláusula C es una instancia de la cláusula C tal que cada variable se sustituye por otra variable.

El significado declarativo de los programas determina si una meta dada es cierta, y si es el caso, para qué valores de las variables es cierta.
Para definir de manera más precisa el significado declarativo, necesitamos introducir antes el concepto de "instancia" de una cláusula.
Una instancia de una cláusula C es la cláusula C con cada una de sus variables sustituidas por algún término. Una "variante" de una cláusula C es una instancia de la cláusula C tal que cada variable se sustituye por otra variable.

Ahora algo de practica...




Este programa muestra lo que es el significado declarativo.

















Con las siguientes que se hacen preguntas se pretende observar  las clausulas y verificación del el uso de la ",".
Una coma entre metas denota una conjunción de metas: todas tienen que ser ciertas.
 Prolog acepta además la disyunción de metas : cualquiera de las metas en una disyunción tiene que ser verdadera. La disyunción se indica con el símbolo de punto y coma (;).














BIBLIOGRAFIA
APUNTES DE PROLOG
Edgar Altamirano Carmona    
Universisda Autónoma De Guerrero, 2014

No hay comentarios.:

Publicar un comentario