Prolog es el resultado de muchos años de trabajo de la investigación. La versión oficial de Prolog se desarrolló en la Universidad de Marsella, Francia por Alain Colmerauer en los tempranos 1970s como una herramienta para Programación en la Lógica. El resultado fue el desarrollo de un nuevo paradigma de programación.
Existen varias versiones o dialectos comerciales de Prolog: desde Turbo Prolog de Borland y el Arity Prolog hasta el PDC Visual Prolog.
El Prolog se ha ido en general de los laboratorios de las inteligencias artificiales, y el Visual Prolog de PDC es un competidor comercialmente, el ambiente de desarrollo de uso general. Visual Prolog se ha vuelto la herramienta de opción cada vez más para muchos diseñadores, debido a los rasgos inteligentes que pueden agregarse así fácilmente los programas o incluso los sitios Web.
Prolog es lo que se conoce como un idioma declaratorio. Esto significa que dado los hechos necesarios y reglas, Prolog usará el razonamiento deductivo para resolver sus problemas de la programación. Esto está en contraste con los idiomas de la computadora tradicionales, como el C, Básic y Pascal que son los idiomas procedurales. En un idioma procedural, el programador debe proporcionar instrucciones que dicen exactamente a la computadora cómo resolver un problema dado paso a paso. En otros términos, el programador debe saber resolver el problema antes de que la computadora pueda hacerlo. El programador de Prolog, por otro lado, sólo necesita proporcionar una descripción del problema y aterrizar las reglas para resolverlo. De allí, Prolog determina cómo encontrar una solución.
El Visual Prolog, se dirige al mismo mercado designado como los sistemas de base de datos SQL, a los desarrolladores de sistemas C++ y a otras herramientas de lenguajes como Visual Básic, Delphi de Borland, o Visual Edge de IBM. La tendencia en muchas organizaciones hoy es resolver todo con la tecnología de la base de datos, pero este acercamiento lleva a menudo a los resultados malos en tiempo de desarrollo y en el funcionamiento del sistema final. Una aplicación desarrollada en el Prolog puede tener un funcionamiento muy superior y muy amigable para el usuario en un tiempo de desarrollo más corto. El Prolog de PDC se satisface particularmente bien para estos tipos de tareas de las bases de datos tradicionales, porque el Visual Prolog tiene entre sus capacidades, la programación de un totalmente fácil uso del motor de inferencia de la base de datos. Programas creados por Visual Prolog, Son muy rápidos debido al recopilador favorablemente perfeccionando, casi tan rápido como las aplicaciones basadas en C++.
En este trabajo se proponen varios ejercicios prácticos utilizando la versión comercial de Visual Prolog 6.0 de la cual puedes obtener una versión gratuita en Internet.
Ejercicio 1. Generando una aplicación con Visual Prolog 6.0.
1. Crear un nuevo proyecto en la opción Project del menú principal
2. Asignarle un nombre: DIM (o el que tu quieras)
3. Aceptar todos los valores por default
4. Los archivos generados al crear un nuevo proyecto.
4. Redefinir las opciones del menú oprimiendo el botón derecho del Mouse sobre el archivo TaskMenu.mnu
5. Crea una nueva opción y ponle por nombre Aplicación (o el que tu quieras).
Para ver el gráfico seleccione la opción "Descargar" del menú superior
6. En este punto debes grabar lo realizado y elegir la opción Build del menú principal para generar los archivos complementarios como el código objeto y los ejecutables.
Para ver el gráfico seleccione la opción "Descargar" del menú superior
7. Archivos generados después de la opción Build, compara con respecto a los originales que se muestran en la figura 1.
Para ver el gráfico seleccione la opción "Descargar" del menú superior
8. Ejecuta tu aplicación y verás algo como se muestra en la siguiente imagen después de elegir en la opción Build la subopción Execute. Listo acabas de crear tu primera aplicación en VP 6.0
Para ver el gráfico seleccione la opción "Descargar" del menú superior
3. Ejercicio 2. Insertando una ventana y creando un formulario
1. Creando un paquete Elija la opción New del menú principal y cree un "Package" asegúrese de grabarla en el submenu Taskwindow con el nombre dimp.
Para ver el gráfico seleccione la opción "Descargar" del menú superior
3. Ejercicio 2. Insertando una ventana y creando un formulario:
1. Elegir la opción New del menú principal y escoger como nuevo Ítem del proyecto: Window insertándola dentro de Taskwindow llámela diagnostico y con taskmenu seleccionado en la opción menú.
Para ver el gráfico seleccione la opción "Descargar" del menú superior
2. Elija las opciones por default, pero, en menú escoge TaskMenu.
Para ver el gráfico seleccione la opción "Descargar" del menú superior
3. El resultado es el siguiente:
Para ver el gráfico seleccione la opción "Descargar" del menú superior
5. Agrega los siguientes elementos en el formulario: Static Text, List Button y Push Button.
Para ver el gráfico seleccione la opción "Descargar" del menú superior
6. Para agregar código a la opción aplicación del menú principal, oprime el botón derecho del mouse sobre el archivo TaskWindow.win, aparecera un menú flotante; en el selecciona la opción Code Expert
Para ver el gráfico seleccione la opción "Descargar" del menú superior
7. Elige menú y el resultado es el siguiente:
Para ver el gráfico seleccione la opción "Descargar" del menú superior
8. Selecciona id_aplicación_diagnóstico y pulsa el botón Add
Para ver el gráfico seleccione la opción "Descargar" del menú superior
9. El resultado del punto anterior es la siguiente figura:
10. Elige Goto Event Code o da un doble click.
11. El resultado del punto anterior es el código fuente el cual se muestra en la siguiente figura:
Para ver el gráfico seleccione la opción "Descargar" del menú superior
12. Vamos a conectar la opción de menú diagnostico con la ventana diagnostico, para ello agregaremos la siguiente línea _Obj= Diagnostico::new(thisWin) en la cláusula onAplicacionDiagnostico que tiene este contenido:
predicates
onAplicacionDiagnostico : vpiDomains::menuItemHandler.
clauses
onAplicacionDiagnostico(_MenuTag) = handled(0).
El resultado es el siguiente:
predicates
onAplicacionDiagnostico : vpiDomains::menuItemHandler.
clauses
onAplicacionDiagnostico(_MenuTag) = handled(0):-
_Obj= Diagnostico::new(thisWin).
Ahora compila tu aplicación con la opción Build y ejecuta el programa.
M. C. Ricardo Fuentes Covarrubias,
Profesor de la Universidad de Colima en la
Facultad de Ingeniería Mecánica y Eléctrica. México.