Skip to content

Instantly share code, notes, and snippets.

@javatlacati
Created December 26, 2019 02:45
Show Gist options
  • Save javatlacati/c7ed4c388c88aa0760c804f25ef2a0e4 to your computer and use it in GitHub Desktop.
Save javatlacati/c7ed4c388c88aa0760c804f25ef2a0e4 to your computer and use it in GitHub Desktop.
% categoria(nombre, numero).
categoria(tecnologia, 2).
categoria(historia, 3).
categoria(geografia, 4).
categoria(matematicas, 5).
categoria(ctesis, 6).
categoria(otros, 7).
categoria(novelas, 8).
categoria(musica, 9).
categoria(cuentos, 1).
% se maneja un functor documento que posee lo siguiente
% libro(titulo, autor, editorial, anio).
libro(aliciaEnElPaisDeLasMaravillas, losHermanosGrim, trillas, 1952).
libro(lasCronicasDeNarnia, patricia, elDorado, 2000).
libro(donQuijoteDeLaMancha, alfredoAguilar, trillas, 1925).
libro(laNahuala, erikaHernandez, salamancaDc, 2006).
libro(theWitness, katyPerry, capitol, 2017).
%documento(Titulo,No.Categoria,Existencia).
documento(aliciaEnElPaisDeLasMaravillas, 1, 1).
documento(lasCronicasDeNarnia, 1, 2).
documento(donQuijoteDeLaMancha, 3, 3).
documento(laNahuala, 1, 3).
% prestamo(noPres, usuario, [documento1, documento2, ... documentoN], fecha(d, mes, anio)).
prestamo(1, selenaGomez, [aliciaEnElPaisDeLasMaravillas], fecha(12, 7, 2017)).
prestamo(2, zaynMalik, [theWitness], fecha(13, 7, 2017)).
prestamos_por_persona(Persona,Titulos):- prestamo(_,Persona,Titulos,_).
prestamos_de_documentos_por_persona(Persona,Titulos):- Titulos=[_|UnTitulo], prestamo(_,Persona,Titulos,_),documento(UnTitulo,_,_).
prestamos_de_documentos_por_persona(Persona,Titulos):- Titulos=[OtroTitulo|_], prestamo(_,Persona,Titulos,_),documento(OtroTitulo,_,_).
categorias_de_prestamos_por_persona(Persona,Categoria):- Titulos=[_|UnTitulo], prestamo(_,Persona,Titulos,_), documento(UnTitulo,Numero,_), categoria(Categoria,Numero).
categorias_de_prestamos_por_persona(Persona,Categoria):- Titulos=[UnTitulo|_], prestamo(_,Persona,Titulos,_), documento(UnTitulo,Numero,_), categoria(Categoria,Numero).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment