/*Programa hecho por Mario Arroyo G.*/ domains file = archivo predicates es_padre(symbol,symbol) es_madre(symbol,symbol) es_esposo(symbol,symbol) es_abuelo(symbol,symbol) es_hermano(symbol,symbol) es_cuniado(symbol,symbol) crearch agrega leearch ciclo goal crearch,agrega,leearch. clauses es_padre(francisco,felipe). es_padre(benito,pedro). es_padre(pedro,karla). es_padre(felipe,susana). es_padre(pedro,juan). es_padre(felipe,marcos). es_madre(claudia,juana). es_madre(juana,hugo). es_madre(juana,pablo). es_esposo(hugo,karla). es_esposo(juan,susana). es_abuelo(X,Z):- es_padre(X,Y), es_padre(Y,Z); es_madre(X,Y), es_madre(Y,Z). es_hermano(P,Q):- es_padre(O,P), es_padre(O,Q), P<>Q; es_madre(O,P), es_madre(O,Q), P<>Q. es_cuniado(A,C):- es_hermano(A,B), es_esposo(B,C); es_esposo(A,B), es_hermano(B,C). crearch:- clearwindow, openwrite(archivo,"test.txt"), writedevice(archivo), es_abuelo(X,Y), write(X," es abuelo de ",Y ),nl, not(es_abuelo(X,Y)); closefile(archivo). agrega:- openappend(archivo,"test.txt"), writedevice(archivo), es_cuniado(R,T), write(R," es cuniado de ",T),nl, not(es_cuniado(R,T)); closefile(archivo). leearch:- clearwindow, openread(archivo,"test.txt"), readdevice(archivo), writedevice(screen), ciclo. ciclo:- not(eof(archivo)), readln(Cadena), write(Cadena),nl, ciclo.