Você está na página 1de 3

Lista de exercícios: Fatos, regras e consultas

Prof. Luiz Fernando Afra Brito

1 Exercícios

Exercício 1. Átomo, variável ou nenhum dos dois?


• vINCENT

• Footmassage

• variable23

• Variable2000

• big_kahuna_burger

• ‘big kahuna burger’

• big kahuna burger

• ‘Jules’

• _Jules

• ‘_Jules’

Exercício 2. Átomo, variável, termo complexo ou nenhum?


• loves(Vincent, mia)

• ‘loves(Vincent, mia)’

• Butch(boxer)

• boxer(Butch)

• and(big(burger), kahuna(burger))

• and(big(X), kahuna(X))

• _and(big(X), kahuna(X))

1
• (Butch kills Vincent)

• kills(Butch Vincent)

• kills(Butch, Vincent

Exercício 3. Quantos fatos, regras, cláusulas e predicados existem na base de conhecimento


abaixo? Quais são as cabeças das regras? E seus objetivos?
mulher(vincent).
mulher(mia).
homem(jules).

pessoa(X) :- homem(X); mulher(X).


ama(X, Y) :- conhece(Y, X).
pai(Y, Z) :- man(Y), filho(Z, Y).
pai(Y, Z) :- man(Y), filha(Z, Y).

Exercício 4. Represente o seguinte em Prolog:

1. Butch é assassino

2. Mia e Marcellus são casados

3. Zed está morto

4. Marcellus mata todos que dão uma massagem no pé de Mia

5. Mia ama todos que são bons dançarinos

6. Jules come tudo que é nutritivo ou saboroso

Exercício 5. Dada a seguinte base:


feiticeiro(ron).
tem_varinha(harry).
jogador_de_quidditch(harry).

feitireiro(X) :- tem_vassoura(X), tem_varinha(X).


tem_varinha(X) :- jogador_de_quidditch(X).
Como o Prolog responde as sequintes consultas?

1. feiticeiro(ron)

2
2. bruxa(ron)

3. feiticeiro(hermione)

4. bruxa(hermione)

5. feiticeiro(harry)

6. feiticeiro(Y)

7. bruxa(Y)

2 Adicional
• use a função listing/0.

• use a função listing/1 (predicado como argumento).

Você também pode gostar