Revisão realizada para a disciplina de Paradigmas de Programação.
Prolog, ou seja, programação lógica, é uma linguagem declarativa que se baseia no cálculo de predicados. Constituindo-se de uma coleção de fatos (base de dados) e regras (relações lógicas), realiza deduções para obter conclusões a partir de consultas realizadas pelos usuários. O que achei mais interessante em estudar Prolog foi a possibilidade da automação de tarefas e seu sistema de banco de dados baseado em lógica. Através de suas inúmeras possibilidades, permite a facilitação do estudo através da resolução de problemas de modo interativo e divertido, como a atividade realizada no repl.it de descobrir quem cometeu um assassinato em um hotel através de premissas.
Para as práticas foram utilizados os compiladores do repl.it e swish (https://swish.swi-prolog.org).
Os predicados de prologs, sendo eles constantes ou variáveis (variáveis tem sua terminologia iniciada por maiúscula), são divididos em fatos e regras para a realização de uma consulta definida por meio deles. É válido ressaltar que todas as respectivas cláusulas são finalizadas com pontos finais.
Expressam afirmações de um fato.
Frase: "Renata é estudante de programação" Em prolog:
programming(renata).
Cláusulas com condicionais.
Frase: "Todo estudante de programação é esforçado" Em prolog:
esforcado(x) :- programming(x).
Primeira prática de prolog no menu Teams da disciplina na plataforma Repl.it. A realização dessa atividade proporciou a aprendizagem da modelagem de dados através do uso de predicados, a realização de consultas e aprimoramento do raciocínio lógico.
Exemplo de consultas realizadas no programa movies.pl.
Para abrir o programa main.pl no interpretador de comandos utiliza-se o comando swipl main.pl no Shell.
Não obstante, é válido ressaltar a representação de uma lista não vazia, onde H designa o primeiro elemento da lista e T o restante, excluindo o primeiro elemento. Para mais informações, na aba "Issues" consta um resumo digital que aborda este assunto.
[1] Material disponibilizado pela professora [2] https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwjKpLK96aGCAxWBjZUCHYoaC3QQFnoECDgQAw&url=https%3A%2F%2Fwww.facom.ufu.br%2F~marcelo%2FPL%2Fapostila-prolog.pdf&usg=AOvVaw1cI4k7nAnULARYyeNpGHTc&opi=89978449 [3] Robert Sebesta. Conceitos de Linguagens de Programação. Bookman, 2018.