% 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