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.