View
38
Download
2
Category
Preview:
Citation preview
Sistemas Expertos
Ing. Mendoza Corpus Carlos Docente Asignado al Curso
MANEJO DEL ENTORNO DE VISUAL PROLOG.
Crear el entorno de Trabajo
Al cargar Visual Prolog, se visualiza la siguiente ventana:
Se iniciara creando un proyecto, para lo cual se dará un clic en el botón New Proyect, se visualiza una caja de dialogo
donde se ingresara nombre del proyecto (Project Name) y se le dará una ubicación al proyecto, para lo cual se usara
el botón Browser
Para nuestro ejemplo lo llamaremos ejemplo01 y lo ubicaremos en la carpeta SistemasExpertos que se creara en la
unidad que crea conveniente, luego dar un clic en el botón Ok se creara la estructura de objetos que usa Visual Prolog
y se visualizar la siguiente caja de dialogo:
Sistemas Expertos
Ing. Mendoza Corpus Carlos Docente Asignado al Curso
Se usara el menú Build opción Build para actualizar algún cambio que se realice (Ctrl+Shift+B) y se usar el botón
Debug Run que se encuentra en la barra de herramientas (F5).
Para comprobar el entorno creado usar Ctrl+Shift+B y luego presionar dos veces la tecla F5, al presionar la primera
vez F5 se visualizara la siguiente caja de dialogo:
El mensaje quiere decir:
La aplicación se crea con la edición personal de prólogo visual.
Usted no puede distribuir o usarlo comercialmente.
Ver http://wwww.visual-prolog.com
Luego de dar clic en el botón Aceptar, se visualiza la siguiente caja de dialogo:
Para luego nuevamente presionar F5 y visualizar una aplicación vacía.
Sistemas Expertos
Ing. Mendoza Corpus Carlos Docente Asignado al Curso
Crear Formulario
Ahora se procederá a crear un formulario y aplicar algunos eventos que permitirán ver el manejo del entorno de Visual Prolog.
Dar un clic en el menú File opción New in New Package (Ctrl+N), se visualiza la siguiente caja de dialogo:
Seleccionar el objeto Form y darle un nombre para nuestro ejemplo frmMuestra, para luego dar un clic en el botón Create y se
creara el entorno de trabajo visual.
Sistemas Expertos
Ing. Mendoza Corpus Carlos Docente Asignado al Curso
Agregar Código
Para ello se procederá de la siguiente manera: Ubicar la opción TaskWindow.win de la caja de dialogo de la estructura de objetos
que se presentó al crea el nuevo proyecto y dar doble clic, se visualizara la siguiente caja de dialogo:
Dar un doble clic en el directorio Menu, doble clic en el directorio TaskMenú, doble clic en el directorio id_File y por ultimo doble
clic en el ítem id_file_new para mostrar el editor de instrucciones y se ubicara en la siguiente estructura:
predicates
onFileNew : window::menuItemListener.
clauses
onFileNew(_Source, _MenuTag).
Se deberá modificar clauses con el siguiente código:
clauses
onFileNew(W, _MenuTag) :- X= frmMuestra::new(W), X:show().
Ahora se deberá usar la combinación de teclas Ctrl+Shift+B, luego dos veces F5. Se mostrar la aplicación vacía, dar un clic en el
botón nuevo de la barra de herramientas y se mostrara el formulario.
Usar Menú
Para ello se procederá de la siguiente manera: Ubicar la opción TaskMenu.mnu de la caja de dialogo de la estructura de objetos que
se presentó al crea el nuevo proyecto y dar doble clic, se visualizara la siguiente caja de dialogo:
Sistemas Expertos
Ing. Mendoza Corpus Carlos Docente Asignado al Curso
Ahora dar doble clic en el directorio &File se visualiza una lista de opciones seleccionar &New\tF7 para luego desactivar el Check
Box Disabled, esto para poder habilitar el uso de opción Nuevo (New) o F7 del menú File del proyecto.
Ahora al ejecutar el proyecto se podrá hacer uso del menú File, como se muestra a continuación:
Como se observa en la figura anterior la opción New se encuentra activa, al dar un clic mostrar el formulario.
Uso de Eventos
1. Evento MouseDownListener
Para implementar este evento se debe seguir el siguiente procedimiento: Ir al directorio frmMuestra dar doble clic y se
mostrar el formulario, ahora en la caja de dialogo Propiedades dar un clic en la pestañas Events y seleccionar
MouseDownListener, se muestra el curso en el lado derecho dar doble clic y nos llevara al editor de código, en donde se
modificara la siguiente estructura:
predicates
onMouseDown : drawWindow::mouseDownListener.
clauses
onMouseDown(_Source, _Point, _ShiftControlAlt, _Button).
Sistemas Expertos
Ing. Mendoza Corpus Carlos Docente Asignado al Curso
Modificar la sección que tiene la palabra reservada clauses con el siguiente código:
clauses onMouseDown(S, Point, _ShiftControlAlt, _Button) :- W= S:getVPIWindow(), Point= pnt(X, Y), vpi::drawText(W, X, Y, "Hola, Mundo!").
Ahora se deberá usar la combinación de teclas Ctrl+Shift+B, luego dos veces F5. Se mostrar la aplicación vacía, dar un
clic en el botón nuevo de la barra de herramientas o usar la tecla F7 para mostrar el formulario, ahora dar clic en
cualquier parte del formulario y mostrara el mensaje Hola Mundo!.
Factorial de un Número
Para ello se deberá crea un nuevo proyecto, se creara el formulario frmFactorial, realizar el mismo procedimiento indicado
anteriormente para llamar a un formulario.
Luego agregar dos controles Push Button y Edit Control de la caja de control, como se muestra a continuación:
En la propiedad Name del botón se le dará el siguiente nombre factorial_ctl, al cuadro texto se le deja con su nombre original.
Ahora se creara una clase, para ello se debe ubicar en el nombre del formulario frmFactorial e ir al menú File opción New in New
Package, elegir el objeto clase y darle el nombre de fn se creara cinco archivos de los cuales trabajaremos con fn.cl, fn.i, fn pro.
En el archivo fn.cl se ingresara el siguiente código:
class fn
predicates
classInfo : core::classInfo.
calculate:(string) procedure.
end class fn
En el archivo fn.pro se ingresara el siguiente código:
implement fn
open core
class predicates
fact:(integer, integer)
procedure (i,o).
clauses
classInfo("forms/fn", "1.0").
fact(0, 1) :- !.
fact(N, N*F) :- fact(N-1, F).
calculate(X) :- N= toterm(X),
fact(N, F), stdio::write(F, "\n").
end implement fn
En el archivo fn.i solo agregaremos guiones bajos al final de cada nombre de clase:
interface fn_
open core
end interface fn_
Usaremos el evento ClickResponder del botón factorial_ctl, se visualizara el curso al lado derecho del mismo evento dar doble clic
y se mostrar el área de código, en donde modificaremos clauses de la siguiente manera:
predicates
onFactorialClick : button::clickResponder.
clauses
onFactorialClick(_S) = button::defaultAction() :- fn::calculate(edit_ctl:getText()).
Nota: Se adjunta el proyecto ejemplo02, que contiene el programa que encuentra el factorial de un número. Al cargar Visual Prolog, usar el botón Browser para cargar el proyecto. Realizar operaciones básicas usando esta forma de programar.
Recommended