Sei sulla pagina 1di 5

Arbol Genealogico en Visual Prolog

Proyecto: Elaborar un programa en Visual Prolog que utilice los hechos hijo, adems utilizar los
hechos hombre y mujer, utilizando un men, se ejecutar una bsqueda inteligente utilizando el
proceso de razonamiento adecuado para cada una de las reglas.
El men contiene las siguientes consultas:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.

Buscar relacin To.


Buscar relacin Sobrino.
Buscar relacin Abuela.
Buscar relacin Nieta.
Buscar relacin Hija.
Buscar relacin Bisnieto.
Buscar relacin Abuelo.
Buscar relacin Ta.
Buscar relacin Bisabuela.
Buscar relacin Sobrina.
Buscar relacin Prima.
Buscar relacin Hermano.
Buscar relacin Primo.
Buscar relacin Hermana.
SALIR.

Ejemplo del Codigo en Ejecucin.

domains
OPC=integer.
X,Y,Z,W,V=symbol.
predicates
nondeterm hijo(symbol,symbol).
nondeterm mujer(symbol).
nondeterm hombre(symbol).
nondeterm menu.
nondeterm ciclo.
nondeterm caso(integer).
clauses
hijo(alfonso,francisca).
hijo(gloria,francisca).
hijo(guillermina,francisca).
hijo(alejandra,francisca).
hijo(fortino,francisca).
hijo(salvador,francisca).
hijo(lilia,francisca).
hijo(socorro,francisca).
hijo(joel,francisca).
hijo(osiel,francisca).
hijo(veronica,alfonso).
hijo(javier,alfonso).
hijo(alonso,alfonso).
hijo(marco_a,alfonso).
hijo(jose_a,alfonso).
hijo(yadira,gloria).
hijo(euripides,gloria).
hijo(antonio,gloria).
hijo(rita,gillermina).
hijo(carlos,gillermina).
hijo(malaquias,gillermina).
hijo(david,gillermina).
hijo(francisco,alejandra).
hijo(esmirna,alejandra).
hijo(alejandro,alejandra).
hijo(hugo,alejandra).
hijo(eslith,fortino).
hijo(cristal,salvador).
hijo(alma,salvador).
hijo(oscar,lilia).
hijo(uriel,lilia).
hijo(mariela,lilia).
hijo(silvia,socorro).
hijo(samuel,socorro).
hijo(selene,socorro).
hijo(geovani,socorro).
hijo(janeth,socorro).
hijo(jonathan,socorro).
hijo(perla,socorro).
hijo(flor,socorro).
hijo(guadalupe,socorro).
hijo(francisco_j,osiel).
hijo(eduardo,joel).
hijo(javier_jr,javier).
hijo(veronica_i,javier).
hijo(ernesto,alonso).
mujer(francisca).
mujer(gloria).

mujer(guillermina).
mujer(alejandra).
write(" |
[8]- Buscar Relacion Tia
|"),nl,
mujer(lilia).
write(" |
[9]- Buscar Relacion Bisabuela |"),nl,
mujer(socorro).
write(" |
[10]- Buscar Relacion Sobrina |"),nl,
mujer(veronica).
write(" |
[11]- Buscar Relacion Prima
|"),nl,
mujer(yadira).
write(" |
[12]- Buscar Relacion Hermano |"),nl,
mujer(rita).
write(" |
[13]- Buscar Relacion Primo
|"),nl,
mujer(emma).
write(" |
[14]- Buscar Relacion Hermana |"),nl,
mujer(esmirna).
write(" |
[15]- SALIR
|"),nl,
mujer(eslith).
write("
mujer(cristal).
|---------------------------------------------------------------------mujer(alma).
---------|"),nl,nl,nl,
mujer(mariela).
mujer(silvia).
write("
Elija Su Opcion_ ").
mujer(selene).
mujer(janeth).
mujer(perla).
ciclo.
mujer(flor).
ciclo:-ciclo.
mujer(guadalupe).
caso(1):-write("El Tio de_ "),readln(Y),hombre(Z),
mujer(veronica_i).
hijo(X,W),hijo(Z,W),hijo(Y,X),Z<>X,
write(" es ",Z),nl.
hombre(alfonso).
caso(2):-write("El
es Sobrino de_ "),readln(Y),hombre(X),
hombre(fortino).
hijo(X,Z),hijo(Z,W),hijo(Y,W),Z<>Y,
hombre(salvador).
write(" es ",X),nl.
hombre(joel). Abuela de_ "),readln(Y),mujer(X),
caso(3):-write("La
hombre(osiel).
hijo(Z,X),hijo(Y,Z),
hombre(javier).
write(" es ",X),nl.
hombre(alonso).Nieta de_ "),readln(Z),mujer(X),
caso(4):-write("La
hombre(marco_a).
hijo(Y,Z),hijo(X,Y),
hombre(jose_a).
write(" es ",X),nl.
hombre(euripides).
caso(5):-write("La
Hija de_ "),readln(Y),mujer(X),
hombre(antonio).
hijo(X,Y),
hombre(carlos).
write(" es ",X),nl.
hombre(malaquias).
caso(6):-write("El
Bisnieto de_ "),readln(W),
hombre(david).
hombre(X),hijo(Z,W),hijo(Y,Z),hijo(X,Y),
hombre(francisco).
write(" es ",X),nl.
hombre(alejandro).
caso(7):-write("El
Abuelo de_ "),readln(Y),hombre(X),
hombre(hugo).
hijo(Z,X),hijo(Y,Z),
hombre(oscar).
write(" es ",X),nl.
hombre(uriel). es Tia de_ "),readln(Y),mujer(X),
caso(8):-write("La
hombre(samuel).
hijo(X,W),hijo(Z,W),hijo(Y,Z),X<>Z,
hombre(geovani).
write(" es ",X),nl.
hombre(jonathan).
caso(9):-write("La
Bisabuela de_ "),readln(X),mujer(W),
hombre(francisco_j).
hijo(Z,W),hijo(Y,Z),hijo(X,Y),
hombre(eduardo).
write(" es ",W),nl.
hombre(javier_jr).
caso(10):-write("La
Sobrina de_ "),readln(Y),mujer(X),
hombre(ernesto).
hijo(X,Z),hijo(Z,W),hijo(Y,W),Z<>Y,
write(" es ",X),nl.
caso(11):-write("La Prima de_ "),readln(Z),mujer(V),
menu:-hijo(X,W),hijo(Y,W),hijo(Z,X),hijo(V,Y),X<>Y,
nl,nl,write("\t|--------------------------------------------------------------write(" es ",V),nl.
----------------|"),nl,
caso(12):-write("El es Hermano de_ "),readln(Y),hombre(X),
write(" |======== M E N U
P R I N C I P A L ========|"),nl,
hijo(X,Z),hijo(Y,Z),Y<>X,
write(" es ",X),nl.
|---------------------------------------------------------------------caso(13):-write("El
Primo de_ "),readln(Z),hombre(V),
---------|"),nl,
hijo(X,W),hijo(Y,W),hijo(Z,X),hijo(V,Y),X<>Y,
write(" es| ",V),nl.
[1]- Buscar Relacion Tio
|"),nl,
write(" |Hermana[2]Relacion Sobrino
|"),nl,
caso(14):-write("La
de_ Buscar
"),readln(Y),mujer(X),
write(" |
[3]- Buscar Relacion Abuela
|"),nl,
hijo(X,Z),hijo(Y,Z),Y<>X,
[4]- Buscar Relacion Nieta
|"),nl,
write(" es| ",X),nl.
write(" |
[5]- Programa
Buscar Relacion
Hija
|"),nl,
caso(15):-nl,nl,nl,write("\tEl
Ha Finalizado

nl,write("\t\t"),!.
goal
ciclo,system("cls"),menu,readint(OPC),nl,nl,caso(OPC),OPC=15,!.

Potrebbero piacerti anche