Teste
Interpretador Online: Toy Prolog http://www.csse.monash.edu.au/~lloyd/tildeLogic/Prolog.toy/ Dicas:
(1) regras: trocar a “, “ por and
(2) consulta: trocar “ ?-“ por “ ? ”
(3) fazer uma consulta por vez
Swi – Prolog: http://www.swi-prolog.org/
ATIVIDADE 1 – PRIMEIROS PASSOS
Escreva a seguinte base de fatos em Prolog: aluno(paulo). aluno(joao). aluno(lucas). Veja que aluno é um predicado. Faça as seguintes consultas: aluno(paulo). aluno(daniela). aluno(X). Retornou Yes, No, e após isso retornou aluno(paulo) yes, aluno(joao) yes, aluno(lucas) yes
Note o que retorna em cada consulta. Veja que X é uma variável (o interpretador identifica como variável todo identificador iniciado com maiúscula). No caso dessa última consulta, o interpretador devolve a primeira unificação possível. Se você quiser ver as outras unificações, inclua novas linhas nesta última consulta, cada uma delas contendo o símbolo ;
ATIVIDADE 2 – CONTINUANDO OS PRIMEIROS PASSOS Escreva a seguinte base de fatos e regras em Prolog: aluno(paulo). aluno(joao). aluno(lucas). estuda(joao). estuda(lucas). aprovado(X) :- aluno(X), estuda(X).
Veja que aprovado é uma regra. Lê-se: X é aprovado se X é aluno e X estuda.
Faça as seguintes consultas: aprovado(paulo). no aprovado(joao). yes aprovado(X). joao yes, lucas yes
No caso dessa última consulta, novamente o interpretador devolve a primeira unificação possível. Se você quiser ver as outras unificações, inclua novas linhas nesta última consulta, cada uma delas contendo o símbolo ;
ATIVIDADE 3 – MODELANDO SUA FAMÍLIA (TAREFA)
Escreva uma base de fatos e regras em Prolog que represente o ramo masculino da sua família, usando somente um predicado pai(P,F), P é pai de F. Exemplo: pai(ze,joao). pai(ze,joaquim). pai(manoel,ze). pai(manoel,sebastiao). pai(sebastiao,eurico). ... pai(mario, flavio). pai(mario, claudio). pai(claudio, bruno). pai(flavio, flavinho).
Escreva essa base de fatos com os membros da sua