Exercicios PL 2007 08 Semana1
-
Upload
sitoi-nakhuku-vicente -
Category
Documents
-
view
258 -
download
0
Transcript of Exercicios PL 2007 08 Semana1
-
7/23/2019 Exercicios PL 2007 08 Semana1
1/5
FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO
EXERCCIOS DEPROGRAMAO EM LGICA
LUS PAULO REISDANIEL CASTRO SILVA
MESTRADO INTEGRADO EM ENGENHARIA INFORMTICA ECOMPUTAO
PROGRAMAO EM LGICA - 3 ANO
SETEMBRO DE 2007
-
7/23/2019 Exercicios PL 2007 08 Semana1
2/5
Faculdade de Engenharia da Universidade do PortoLicenciatura em Engenharia Informtica e Computao
Programao em Lgica
2007/2008MIEIC(3 Ano)1 Sem
Exerccios RC Representao de Conhecimento em Prolog
Exerccio RC 1. Representao de Conhecimento Prison Break
Represente a seguinte rvore genealgica em Prolog, recorrendo aos predicados male/1,female/1eparent/2.
Escreva as seguintes questes em Prolog:
a)
Quem
so
os
pais
de
Michael?
b) QuemsoosfilhosdeAldo?
Exerccio RC 2. Representao de Conhecimento Red Bull Air Race
Represente o seguinte conhecimento em Prolog: Lamb, Besenyei, Chambliss, MacLean, Mangold, Jones e Bonhomme so pilotos.
Lamb da equipa Breitling, Besenyei e Chambliss da Red Bull, MacLean da Mediterranean RacingTeam, Mangold da Cobra, Jones e Bonhomme da Matador.
O avio de Lamb um MX2 e o de Besenyei, Chambliss, MacLean, Mangold, Jones e Bonhomme um Edge540. Istanbul, Budapest e Porto so circuitos. Jones venceu no Porto, Mangold venceu em Budapest e em Istanbul. Istanbul tem 9 gates, Budapest tem 6 gates e Porto tem 5 gates. Uma equipa ganha uma corrida quando um dos seus pilotos vence essa corrida.
Escreva as seguintes perguntas em Prolog:a) Quem venceu a corrida no Porto?b) Qual a equipa que ganhou no Porto?c) Quais os pilotos que venceram mais de um circuito?d) Que circuitos tm mais de 8 gates?e) Que pilotos no pilotam um Edge540?
Exerccio RC 3. Representao de Conhecimento Autores de Livros
Escreva frases em Prolog que representem o seguinte conhecimento:
Os Maias, livro, Ea de Queiroz, portugus, ingls, romance, escreveu, autor, nacionalidade, tipo, fico
Escreva as seguintes questes em Prolog:
a) Quem escreveu Os Maias?b) Que autores portugueses escrevem romances?c) Quais os autores de livros de fico que escreveram livros de outro tipo tambm?
Exerccio RC 4. Representao de Conhecimento Comidas e Bebidas
Escreva frases em Prolog que representem o seguinte conhecimento:
-
7/23/2019 Exercicios PL 2007 08 Semana1
3/5
peru, frango, salmo, solha, cerveja, vinho verde, vinho maduro, Ana, Antnio, Barbara, Bruno, gosta,
casado, combina
Escreva as seguintes questes em Prolog:
a) Ana e Bruno so casados e gostam de vinho verde?b) Que bebida combina com salmo?c) Que comidas combinam com vinho verde?
Exerccio RC 5. Representao de Conhecimento Desportos e Jogos
Escreva frases em Prolog que representem o seguinte conhecimento:
Joo, Maria, Ana, casa, co, xadrez, damas, tnis, natao, apartamento, gato, tigre, homem, mulher,
animal, mora_em, gosta_de, jogo, desporto
Escreva as seguintes questes em Prolog:
a) Quem mora num apartamento e gosta de animais?b) Ser que o Joo 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 tnis e gosta de tigres?
Exerccio RC 6. Representao de Conhecimento Tweety e Silverster
Traduza as seguintes frases para Prolog:
Tweety um pssaro. Goldie um peixe. Molie uma minhoca. Pssaros gostam de minhocas. Gatos
gostam de peixes. Gatos gostam de pssaros. Amigos gostam uns dos outros. O meu gato meu amigo. O
meu gato come tudo o que gosta. O meu gato chama-se Silvester.
a) Use Prolog para determinar tudo o que come o Silvester?b) A resposta razovel ? Se no for, verifique se o problema est na especificao original ou na sua
traduo para Prolog, corrija e execute novamente.
Exerccio RC 7. Representao de Conhecimento Programao e ErrosUm estudante acostumado a usar linguagens procedimentais est a desenvolver um compilador em Prolog.Uma das tarefas consiste em traduzir um cdigo de erro para uma pseudo-descrio em portugus. O cdigopor ele usado :
traduza(Codigo, Significado) :-
Codigo = 1,
Significado = integer_overflow.
traduza(Codigo, Significado) :-
Codigo = 2,
Significado = divisao_por_zero.
traduza(Codigo, Significado) :-
Codigo = 3,
Significado = id_desconhecido.
Com sabe, esta no uma forma apropriada de programar em Prolog. Melhore este cdigo.
Exerccio RC 8. Representao de Conhecimento Cargos e Chefes
Suponha a seguinte Base de Factos Prolog:
cargo(tecnico, rogerio).
cargo(tecnico, ivone).
cargo(engenheiro, daniel).
cargo(engenheiro, isabel).
cargo(engenheiro, oscar).
-
7/23/2019 Exercicios PL 2007 08 Semana1
4/5
cargo(engenheiro, tomas).
cargo(engenheiro, ana).
cargo(supervisor, luis).
cargo(supervisor_chefe, sonia).
cargo(secretaria_exec, laura).
cargo(diretor, santiago).
chefiado_por(tecnico, engenheiro).
chefiado_por(engenheiro, supervisor).
chefiado_por(analista, supervisor).
chefiado_por(supervisor, supervisor_chefe).
chefiado_por(supervisor_chefe, director).
chefiado_por(secretaria_exec, director).
Onde os predicados cargo/2 e chefiado_por/2 so autoexplicativos. Escreva em linguagem natural asseguintes interrogaes Prolog:
a) ?- chefiado_por(tecnico, X), chefeido_por(X,Y).
b) ?- chefiado_por(tecnico, X), cargo(X,ivone), cargo(Y,Z).
c) ?- cargo(supervisor, X); cargo(supervisor, X).
d) ?- cargo(J,P), (chefiado_por(J, supervisor_chefe);chefiado_por(J, supervisor)).
e) ?- chefiado_por(P, director), not(cargo(P, carolina)).
Sem utilizar o computador responda qual seria a primeira resposta encontrada pelo Prolog para cada umadestas interrogaes.
Exerccio RC 9. Representao de Conhecimento Alunos e Professores
Considere a seguinte base de factos exemplo:
aluno(joao, paradigmas).
aluno(maria, paradigmas).
aluno(joel, lab2).
aluno(joel, estruturas).
frequenta(joao, feup).
frequenta(maria, feup).
frequenta(joel, ist).
professor(carlos, paradigmas).
professor(ana_paula, estruturas).
professor(pedro, lab2).
funcionario(pedro, ist).funcionario(ana_paula, feup).
funcionario(carlos, feup).
Escreva as seguintes regras em prolog:
a) Quem so os alunos do professor X?b) Quem so 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.
Exerccio RC 10. Representao de Conhecimento Carros e Valores
Considere a seguinte base de factos exemplo:comprou(joao, honda).
ano(honda, 1997).
-
7/23/2019 Exercicios PL 2007 08 Semana1
5/5
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 oterceiro o ano actual (no especificar homem ou carro nas regras), onde a pessoa s podevender o carro se o carro for comprado por ela nos ltimos 10 anos e se seu valor for menor do que10000 Euros.