% TRABAJO FINAL
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% muestra los hijos de NOMBRE
% nace un hijo de NOMBRE
% muestra los abuelos de NOMBRE
% elimina NOMBRE
% muestra los hermanos de NOMBRE
% muestra las hermanas de NOMBRE
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
contesta([elimina]):-
writeln('Nombre de la persona?: '),
readln(Persona),
retract(familia(Persona, _, _)).
contesta([elimina]):-
writeln('Nombre de la persona?: '),
readln(Persona),
retract(familia(_, Persona, _)).
contesta([Muestra]):-
writeln('Nombre de la persona?: '),
readln(Persona),
muestra(Muestra, Persona).
contesta([nace]):-
writeln('Quien nacio?: '),
readln(Hijo),
writeln('Hijo de quien? '),
readln(Padre),
writeln('Es hombre o mujer? '),
readln(Genero),
assert(familia(Padre, Hijo, Genero)).
contesta(_).
muestra(hijo, Persona):-
familia(Persona, Hijo, _),
writeln(Hijo), fail.
muestra(hijo, _):-!.
muestra(abuelo, Persona):-
muestra(hermano, Persona]:-
main:-
writeln('Que quieres saber?: '),
readln(Pregunta),
contesta(Pregunta), !, main.
main:-!.
:-
dynamic familia.
% dynamic padre, genero.
% ====UNA OPCION====
% familia(PADRE, HIJO, GENERO).
% ====OTRA OPCION====
% padre(PADRE, HIJO).
% genero(PERSONA, GENERO) ==> H ó M