Buscar

01_Introducao_Prolog

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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.

Outros materiais