Sei sulla pagina 1di 7

Apuntes Visual Prolog 7.

5
Julio Luis Tenorio Cabrera.

Apuntes Visual Prolog 7.5

INDICE
ndice general .................................................................................................................................................1
ndice de figuras ............................................................................................................................................2
Desarrollo de la aplicacin experta MEDICO............................................................................................5
Ejecucin de la aplicacin experta MEDICO ..........................................................................................18
Sitios Web ....................................................................................................................................................25

Tenorio Cabrera Julio Luis

Pgina 1

Apuntes Visual Prolog 7.5

INDICE DE PROGRAMAS
Figura 01: Pantalla con mensaje explicativo al usuario de la finalidad de la aplicacin experta. ..............18
Figura 02: Pantalla general de la aplicacin experta ..................................................................................19
Figura 03: Pantalla con opcin y subopciones de la aplicacin experta.....................................................20
Figura 04: Pantalla donde se solicita nombre al usuario de la aplicacin experta ....................................21
Figura 05: Pantalla de bienvenida al usuario de la aplicacin experta .......................................................22
Figura 06: Pantalla de consultas de la aplicacin experta ..........................................................................23
Figura 07: Pantalla de resultados de la aplicacin experta ........................................................................24

Tenorio Cabrera Julio Luis

Pgina 2

Apuntes Visual Prolog 7.5

APUNTES VISUAL PROLOG


El archivo main.pack, se relaciona con la carpeta pfc (que est dentro de la carpeta ProDir), ya que
hace uso de paquetes que la carpeta pfc contiene. Asimismo el archivo main.pack tambin contiene al
archivo main.ph y main.pro
El archivo main.ph, requiere al archivo main.pack e incluye tambin a la carpeta pfc y al archivo
main.cl
El archivo core.pro, que est dentro de la carpeta pfc, es fundamental ya que contiene todos los
predicados para el funcionamiento de un programa por ejemplo, la definicin de los tipos de datos.
El archivo main.cl, contiene la declaracin del predicado run, el que se va a definir en main.pro
El archivo main.manifest contiene el cdigo XML del proyecto.
El archivo console.pro, que est ubicado en la carpeta pfc, contiene por ejemplo al predicado write.
Por ejemplo, desarrolle un programa en modo consola, que enve un saludo.
Solucin: (Se codifica en main.pro)
% Copyright
implement main
open core,console
clauses
run() :write("Hola amigos..."),
_=readChar().
end implement main
goal
console::runUtf8(main::run).

main.cl, es una clase abstracta y en ella no se puede usar class facts ni tampoco en main.pro se puede
usar facts pero si se puede usar class facts.
Por ejemplo, desarrolle un programa que muestre la capital de una ciudad.
Solucin: (Se codifica en main.pro)

Tenorio Cabrera Julio Luis

Pgina 3

Apuntes Visual Prolog 7.5

% Copyright
implement main
open core,console
class facts
capital : (string,string).
clauses
capital("Trujillo","La Libertad").
run() :write("A continuacin mostrar cul es la capital de un Departamento..."),
_=readChar(),
capital(X,Y),
write("La capital de ",Y," es: ",X),
_=readChar(),
!.
run().
end implement main
goal
console::runUtf8(main::run).

Para class predicates se trata de la misma manera que class facts.


nondeterm se utiliza para indicar cuando una regla de conocimiento tiene argumentos

tiene

parmetros de entrada o de salida o de ambos y adems evita el polimorfismo de una regla.


Por ejemplo, desarrolle un programa que muestre quien es abuelo de alguna persona:
Solucin: (Se codifica en main.pro)

Tenorio Cabrera Julio Luis

Pgina 4

Apuntes Visual Prolog 7.5

% Copyright
implement main
open core,console
class facts
progenitor : (string,string).
class predicates
abuelo : (string,string) nondeterm(o,o).
clauses
progenitor("Luis","Isabel").
progenitor("Isabel","Abril").
abuelo(X,Y):progenitor(X,Z),
progenitor(Z,Y).
run() :write("A continuacin mostrar quin es abuelo de alguien..."),
_=readChar(),
abuelo(X,Y),
write("El abuelo de ",Y, " es: ",X),
_=readChar(),
!.
run().
end implement main
goal
console::runUtf8(main::run).

El predicado run(), se encuentra definido en mainExe.pro que es una archivo de la carpeta


application\Exe que es una de las carpetas ubicadas en pfc.
El tipo de datos string, requiere que cuando se implementa, se ponga entre comillas.
Por ejemplo:

Tenorio Cabrera Julio Luis

Pgina 5

Apuntes Visual Prolog 7.5

implement main
open core,console
class facts
datos : (string).
clauses
datos("Soy un string").
clauses
run():init(),
write("A continuacin mostrrar un dato tipo string..."),
_=readChar(),
datos(Dato),
write(Dato," es un string"),
_=readChar(),
fail.
run():write("Eso es todo amigos..."),
_=readChar().
end implement main
goal
mainExe::run(main::run).

El predicado fail se utiliza para forzar el backtracking.


Las variables en Visual Prolog empiezan con una letra Mayscula o con el underscore (_).
El underscore (_), representa a la variable de la cual no interesa conocer el valor.

Tenorio Cabrera Julio Luis

Pgina 6

Potrebbero piacerti anche