Beruflich Dokumente
Kultur Dokumente
8/19/12
Prolog
se desarroll en la Universidad de Marsella, Francia por Alain Colmerauer en los tempranos 1970s como una herramienta para Programacin en la Lgica. Es un leguaje declaratorio, en base ahechos necesarios y reglas, Prolog usar el razonamiento deductivo para resolver sus problemas de la programacin
8/19/12
Prolog
A diferencia de lenguajes estructurales: algoritmos, traducir a programas Prolog es definir el problema y identificar claramente las reglas, y prolog determinar la solucin.
8/19/12
Las principales aplicaciones para las que el lenguaje resulta particularmente adecuado son: Desarrollo de prototipos. Construccin de interfaces para el lenguaje natural, permitiendo extender as las aplicaciones existentes con una interfaz mucho ms amigable. Implementacin de Bases de Datos, empleando el mismo lenguaje de programacin para el desarrollo de la aplicacin y para la gestin de la BD.
8/19/12
En qu es diferente prolog?
Prolog es declarativo: en lugar de especificar paso a paso como debe trabajar el ordenador, un programa Prolog consta de una descripcin del problema. Prolog usa hechos y reglas, es decir, un programa est formado por una lista de sentencias lgicas. Prolog puede realizar deducciones a partir de los hechos y reglas del programa. El control en la ejecucin de un programa Prolog
8/19/12
Directivas de compilacin: que se dan al comienzo del programa. Seccin de constantes: puede contener cero, una o varias constantes. Seccin de dominios: puede contener cero, uno o varios dominios. Seccin de la base de datos: puede contener cero, uno o varios predicados de la base de datos. Seccin de predicados: puede contener cero, una
Directivas de compilacin
8/19/12
Nos permiten controlar las caractersticas del compilador. Estas directivas pueden ser cambiadas a travs
(En caso de activar una misma directiva de forma distinta en el entorno prevalece la activacin realizada en el cdigo fuente)
8/19/12
Seccin de constantes
En la seccin de constantes podemos declarar constantes simblicas que pueden usarse en el cuerpo del programa. Sirven para facilitar el uso de diversas cantidades, expresiones y smbolos.
El sistema no distingue entre maysculas y minsculas. La definicin de una constante no puede referirse a s misma. Puede haber varias secciones CONSTANTS a lo largo del programa. Toda constante debe ser definida antes de ser utilizada. Las constantes declaradas son efectivas desde el
8/19/12
Seccin de dominios
En la seccin DOMAINS se pueden definir dominios no especificados por defecto por Visual Prolog. Cada seccin de dominios debe comenzar con la palabra DOMAINS
8/19/12
Tipos de dominios
Dominios de Objetos Compuestos Dominios de Objetos Compuestos Functorless Sinnimos de Dominios Estndar Dominios tipo Lista Dominios tipo Predicado
8/19/12
dominio: nombre dado al dominio especificado por el usuario. declaracion1; [declaracion2]: declaracin de objetos compuestos alternativos que tienen que tener la forma siguiente: functor([sub_1 [, sub_2, ...] ]) donde functor es el nombre del objeto compuesto
8/19/12
8/19/12
En estos dominios podemos definir tipos de objetos que slo se pueden comportar como una nica clase de objetos.
dominio = struct [align {byte|word|dword}] declaracion Ejemplo: DOMAINS ESCULT = struct escultura (INTEGER ns, SYMBOL autor, SYMBOL material)
8/19/12
Es til definir sinnimos de dominios que son estndar, para una mayor legibilidad del programa
DOMAINS ENTERO = integer ESCULT = struct escultura (ENTERO ns, SYMBOL autor, SYMBOL material) PINTURA = struct cuadro (ENTERO ns, SYMBOL autor, SYMBOL tecnica)
8/19/12
Las listas son estructuras comunes de datos en Prolog consideradas como una forma de objeto compuesto. Son secuencias de elementos generalmente homogneos. Sin embargo, en Visual Prolog es fcil crear listas heterogneas mediante el uso eficaz de declaracin de dominios. La sintaxis para crear una lista de objetos es del modo: dominiolista = dominiocomponentes*
8/19/12
DOMAINS
objetos = escultura (ENTERO ns, SYMBOL autor, SYMBOL material); cuadro (ENTERO ns, SYMBOL autor, SYMBOL tecnica)
8/19/12
Un dominio predicado (dominio puntero a predicado), permite la declaracin de un grupo o una clase de predicados. La sintaxis es como sigue:
PredicadoDom = TipoPredicado [Retorno] (ListaArg) [- [[TipoPredicado] patron]] [lenguaje] donde: PredicadoDom es el nombre del dominio.
8/19/12
8/19/12
Visual Prolog no es ms que un conjunto de hechos y reglas. Slo los hechos que se declaran en la seccin FACTS sern dinmicos y podrn ser actualizados en tiempo de ejecucin. La seccin FACTS (tambin llamada DATABASE)
8/19/12