@misc{10902/32333, year = {2024}, month = {2}, url = {https://hdl.handle.net/10902/32333}, abstract = {En el presente Trabajo de Fin de Grado (TFG) se ha explorado la equivalencia entre los paradigmas de programación imperativa y funcional, usando como lenguaje conductor Scheme, y el paradigma de la programación lógica, tomando como referencia el lenguaje PROLOG. Como objetivo final del mismo, se ha implementado un intérprete de programación lógica en Scheme, incluyendo la programación de algoritmos para trabajar con la resolución SLD de cláusulas de Horn, un método que ha sido ampliamente examinado. Por lo tanto, la parte fundamental del trabajo desarrollado ha sido el estudio y la comprensión en profundidad de los conceptos y bases de la programación lógica, así como la resolución de una amplia variedad de problemas de programación funcional e imperativa para poder implementar el intérprete final. Acompañando a esta memoria se adjunta un archivo con el código que genera el intérprete junto a una base de conocimiento que recoge una variedad de ejercicios de programación lógica resueltos mediante dicho intérprete. Además, se indica el enlace a un directorio de GitHub con toda la colección de problemas resueltos: https://github.com/ffriaslago/lambda.}, abstract = {In the present Bachelor’s Thesis, it has been explored the equivalence between imperative and functional programming paradigms, using Scheme as the guiding language, and the logic programming paradigm, using as reference the PROLOG language. The ultimate objective was the implementation in Scheme of a logic programming interpreter, including the development of algorithms to work with SLD resolution of Horn clauses. a method that has been examined in detail. Therefore, the fundamental part of the work developed has been the in-depth study and understanding of logical programming concepts and foundations, as well as the resolution of a wide variety of functional and imperative programming problems in order to implement the final interpreter. Accompanying this report, a file containing the code that generates the interpreter is attached along with a database that includes a variety of logic programming exercises solved using the mentioned interpreter. Additionally, the link to a GitHub directory with the entire collection of solved problems is provided: https://github.com/ffriaslago/lambda.}, title = {Implementación de un intérprete de programación lógica en Scheme y estrategias de resolución de cláusulas de Horn}, author = {Frías García-Lago, Fernando}, }