Baixe o app para aproveitar ainda mais
Prévia do material em texto
Exercícios Prolog 1 – Escreva as seguintes sentenças condicionais descritas em português como clausulas de Horn com cabeça em Prolog. Se Frederico é o pai de Michel, então Frederico é um ancestral de Michel. Se Michel é o pai de João e Michel é o pai de Maria, então Maria é a irmã de João. Se Michel é o irmão de Frederico e Frederico é pai de Maria, então Maria é a imã de João. 2 - Escreva frases em Prolog que representem o seguinte conhecimento: João, Maria, Ana, casa, cão, xadrez, damas, ténis, natação, apartamento, gato, tigre, homem, mulher, animal, mora_em, gosta_de, jogo, desporto. homem(joao). mulher(maria). mulher(ana). animal(cao). animal(gato). animal(tigre). jogo(xadrez). jogo(damas). desporto(natacao). desporto(tenis). mora_em(joao,casa). mora_em(maria,apartamento). mora_em(ana,casa). gosta_de(joao,tenis). gosta_de(maria,natacao). gosta_de(ana,xadez). gosta_de(joao,damas). Escreva as seguintes questões em Prolog: a) Quem mora num apartamento e gosta de animais? b) Será que o João e a Maria moram numa casa e gostam de desportos? c) Quem gosta de jogos e de desportos? d) Existe alguma mulher que gosta de ténis e gosta de tigres? 3 - Considere a seguinte base de fatos exemplo: aluno(joao, paradigmas). aluno(maria, paradigmas). aluno(joel, lab2). aluno(joel, estruturas). frequenta(joao, unama). frequenta(maria, unama). frequenta(joel, ist). professor(carlos, paradigmas). professor(ana_paula, estruturas). professor(pedro, lab2). funcionario(pedro, ist). funcionario(ana_paula, unama). funcionario(carlos, unama). Escreva as seguintes regras em prolog: a) Quem são os alunos do professor X? b) Quem são as pessoas da universidade X? (alunos ou docentes) c) Quem é colega de quem? Se aluno: é colega se for colega de disciplina ou colega de curso ou colega de universidade. Se professor: se for professor da mesma universidade. 4 - Dada a base de conhecimento em Prolog: % Cadastro das pessoa(nome, sexo). pessoa(beth, f). pessoa(marta, f). pessoa(maria, f). pessoa(joao, m). pessoa(junior, m). % Define os gostos de cada pessoa. gosta(beth,cinema). gosta(marta,viajar). gosta(marta,cinema). gosta(maria,praia). gosta(junior,futebol). gosta(junior,praia). gosta(joao,cinema). % Define o que cada pessoa não gosta. nao_gosta(beth, futebol). nao_gosta(joao, viajar). nao_gosta(maria, futebol). nao_gosta(junior, cinema). E a regra: casal(Homem,Mulher) :- pessoa(Homem,m),pessoa(Mulher,f),gosta(Homem,X), gosta(Mulher,X). Construa as regras: nao_casal(Homem, Mulher). (para definir quem não forma um casal) pode_casar(Homem, Mulher). (para definir quem pode casar, ou seja casal=verdadeiro nao_casal=falso) Faça as consultas abaixo e cole o resultado no arquivo .pl pessoa(Mulher, f). pessoa(Homem, m). pessoa(beth, X). gosta(joao, Gosta_de). gosta(Quem, viajar). nao_gosta(Quem, futebol). nao_gosta(joao, De). nao_gosta(Joao, x). casal(X, beth). casal(junior, Y). casal(X, joana). nao_casal(X, Y). nao_casal(junior, Y). nao_casal(X, maria). pode_casar(X, beth). pode_casar(X, Y). 5 - Programa para identificar a profissão de acordo com as relações entre áreas, características e gostos das pessoas. % profissão(Profissão, Área). profissão(professor, educação). profissão(engenheiro, exatas). profissão(administrador, humanas). profissão(agrônomo, agrárias). profissão(psicólogo, saúde). % relação(Área, Característica). relação(agrárias, plantar). relação(exatas, matemática). relação(saúde, aconselhar). relação(humanas, organizar). relação(educação, aconselhar). relação(educação, ensinar). % gosta(Pessoa, Característica). gosta(joao, plantar). gosta(joao, matemática). gosta(jane, aconselhar). gosta(jane, organizar). gosta(beth, ensinar). gosta(sara, falar). % nao_gosta(Pessoa, Característica). nao_gosta(joao, organizar). nao_gosta(jane, plantar). nao_gosta(beth, aconselhar). nao_gosta(sara, matemática). % afinidade(Pessoa, Área) afinidade(Pessoa,Área) :- gosta(Pessoa,Característica),relação(Área, Característica). % Construa a regra aversão(Pessoa, Área), em que uma pesssa não gosta de uma característica relacionada a uma determinada área. % Construa a regra pode_trabalhar(Pessoa, Profissão), em que uma pessoa tem afinidade a uma área, não tem aversão a essa área e a área está relacionada a uma profissão. % Consultar: relação(X, ensinar). profissão(X, Exatas). gosta(joão, X). gosta(joao, De). nao_gosta(X, plantar). afinidade(jane, X). aversão(beth, Y). pode_trabalhar(X, agrônomo). pode_trabalhar(jane, X). pode_trabalhar(Quem, Profissão). 6 - Considere a seguinte base de factos exemplo: comprou(joao, honda). ano(honda, 1997). comprou(joao, uno). ano(uno, 1998). valor(honda, 20000). valor(uno, 7000). a) Crie uma regra pode_vender onde o primeiro argumento é a pessoa, o segundo o carro e o terceiro é o ano actual (não especificar “homem” ou “carro” nas regras), onde a pessoa só pode vender o carro se o carro for comprado por ela nos últimos 10 anos e se seu valor for menor do que 10000 Euros.
Compartilhar