visual prolog
DESCRIPTION
lenguaje de programacion en visual prologTRANSCRIPT
VISUAL PROLOG
PROLOG
• Prolog proviene del francés PROgrammation en LOGique, es un lenguaje para programar artefactos electrónicos mediante el paradigma lógico con técnicas de producción final interpretada.
• Conocido en el área de la ingeniería informática para investigación en Inteligencia Artificial.
HISTORIA
• Lenguaje de programación ideado a principios de los años 70, por los profesores Alain Colmerauer y Philippe Roussel.
• Version preliminar del lenguaje Prolog a finales de 1971 y apareciendo la versión definitiva en 1972.
UTILIDAD DE PROLOG
• Generacion de CGI`s.
• Acceso a bases de datos desde paginas Web.
• Paralelizacion automática de programas.
• Programacion distribuida y multiagente.
• Sistemas expertos e inteligencia artificial.
• Validacion automática de programas.
• Procesamiento de lenguaje natural.
• Prototipado rápido de aplicaciones.
• Bases de datos deductivas.
• Interfacing con otros lenguajes como java y Tcl/TK.
CARACTERISTICAS
• Modularidad: cada predicado (procedimiento) puede ser ejecutado, validado y examinado independiente e individualmente. Prolog no tiene variables globales, ni asignaciones.
• Polimorfismo: se trata de un lenguaje de programación sin tipos, lo que un alto nivel de abstracción e independencia de los datos (objeto).
VENTAJAS
• La habilidad de PROLOG para calcular de forma procedimental es una de las ventajas espeificas que tiene el lenguaje.
• No hay que pensar demasiado en la solución del problema, ya que Prolog infiere sus respuestas basándose en las reglas declaradas dentro del programa.
EVALUACIÓN DEL LENGUAJE
• PROLOG va bien para problemas de relaciones, p.e. Tratamiento del lenguaje natural, y consulta de bases de datos.
• A pesar de que es posible desarrollar programas sin especificar el algoritmo de resolución a veces hay que hacer uso de otro tipo de programación para hacer los programas mas eficientes, y a menudo se emplea el corte para limitar el espacio de búsqueda.
PROGRAMACIÓN EN PROLOG
Existen dos tipos de clausulas: Hechos y Reglas.
Una regla es del tipo: Cabeza:- Cuerpo.
Un ejem de un hecho es: gato (tom)
Como un lenguaje de propósito general, prolog también posee varios predicados predefinidos para interacción con el sistema operativo, como entrada/salida, gráficos y comunicación de datos.
EXPRESIONES
• Prolog cuenta con operadores para la unificacion y comparación, sea con evaluación o sea simbolica, como los siguientes:
• X es Y % unificacion simbolica con evaluación.
• X=Y % unificacion simbolica.
• X=:= % comparación con evaluación.
• X==Y % comparación simbolica.
SUBPROGRAMAS Y DE GESTIÓN DE ALMACENAMIENTO
• PROLOG tiene dos modos:
Modo consulta
Modo pregunta
• Alcance de las variables
• Funciones normales, van integradas en el lenguaje.
CONTROL DE SECUENCIA
• Expresiones, operaciones aritméticas y operadores relacionales.
• Enunciados.
• Entrada y salida, nl y write.
REPRESENTACIÓN DE ALMACENAMIENTO
• Las reglas y hechos son almacenadas en memoria como listas enlazadas.
• La ejecución de prolog consiste en una búsqueda en profundad de un árbol contenido todas las posibles soluciones.
TIPOS DEFINIDOS POR EL USUARIO
• Las reglas para definir relaciones pueden actuar como tipos de usuario.
TIPOS DE DATOS ESTRUCTURADOS
• Átomos: constantes y variables de cadena.
• Listas, representadas entre [ ].
OBJETOS DE DATOS
• Tipos de datos primitivos:
Variable y constantes:
Enteros, reales, caracteres.
OPERADORES
• Los operadores tienen asociada una prioridad. Por ejemplo, la expresión a+b*c es en realidad el termino +(a,*(b,)). Esto es así por que el operador producto (*) tiene mas prioridad que el operador suma (+). Si no fuese así, se trataría del termino *(+(a,b),c).