Anda di halaman 1dari 3

TRABALHO PRÁTICO III – PROLOG

1. Suponha os seguintes fatos para registrar a média destes alunos:

nota(joao,5.0).
nota(maria,6.0).
nota(joana,4.2).
nota(mariana,9.0).
nota(cleuza,8.5).
nota(jose,6.5).
nota(jaoquim,4.5).
nota(mara,1).
nota(mary,7.4).

Construa regras para identificar o estado dos alunos quanto a: aprovado (de 7.0 a 10.0),
recuperação (de 5.0 até menor que 7.0), reprovado (de 0.0 a menor que 5.0) e erro se
nenhuma das faixas anteriores.
a. Neste exercício deverá ter perguntas:

i. Quem foi aprovado?


ii. Quem irá realizar a prova final?
iii. Quem foi reprovado?

2. Implemente um programa que classifique se uma pessoa é considerada: criança (idade


<= 12), adolescente (12 < idade <= 18 ), adulto (18 < idade <= 65) ou idoso (65 <
idade).

3. Todos os animais têm pele. Peixe é um tipo de animal, pássaros outro tipo e mamíferos
são um terceiro tipo. Normalmente, os peixes têm nadadeiras e podem nadar, enquanto
os pássaros têm asas e podem voar. Se por um lado os pássaros e os peixes põem ovos,
os mamíferos não põem. Embora tubarões sejam peixes, eles não põem ovos, seus
filhotes nascem já formados. Salmão é outro tipo de peixe. O canário é um pássaro
amarelo. Um avestruz é um tipo de pássaro grande que não voa, apenas anda. Os
mamíferos normalmente andam para se mover, como por exemplo, uma vaca. As vacas
dão leite, mas também servem de comida (carne). Contudo, nem todos os mamíferos
andam para se mover. Por exemplo, o morcego voa. Considere ainda que existem os
seguintes animais:
a) Piupiu, que é um canário.
b) Nemo, que é um peixe.
c) Tutu, que é um tubarão.
d) Mimosa, que é uma vaca.
e) Vamp, que é um morcego.
f) Xica, que é uma avestruz.
g) Alfred, que é um salmão.

Defina fatos e regras Prolog que representam as premissas acima, e formule


consultas Prolog para responder às seguintes perguntas:
i. Quais são os animais que voam?
ii. Quais são os animais que põem ovos?
iii. Quais os animais que possuem asas?
iv. Quais os nomes dos animais que são comestíveis?
v. Quais os nomes dos animais que se movem andando?
vi. Quais os nomes dos animais que se movem nadando, mas não põem ovos?
4. Implemente um programa para determinar quais tipos sanguíneos podem doar/receber
sangue de quais tipos. A tabela seguinte fornece a informação necessária para a
implementação.

5. Cargos e Chefes: Suponha a seguinte Base de Fatos Prolog:

cargo(tecnico, rogerio).
cargo(tecnico, ivone).
cargo(engenheiro, daniel).
cargo(engenheiro, isabel).
cargo(engenheiro, oscar).
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 são autoexplicativos. Escreva em


linguagem natural as seguintes interrogações Prolog:

a) ?- chefiado_por(tecnico, X), chefiado_por(X,Y).

b) ?- chefiado_por(tecnico, X), cargo(X,Ivone).

c) ?- chefiado_por(P, director), not(cargo(P, carolina)).

Sem utilizar o computador responda qual seria a primeira resposta encontrada pelo
Prolog para cada uma destas interrogações.

6. Considere agora uma nova Base de Conhecimento contendo os predicados telefone/2,


visita/2 e emCasa/1:

%telefone(P, T) :- % no. do telefone da casa da pessoa P é T.


telefone(ana, 1239).
telefone(ze, 2345).
telefone(rui, 3451).
telefone(pedro, 4356).
telefone(marta, 5687).
telefone(olga, 6728).

% visita(X, Y) :- a pessoa X visita a pessoa Y.

visita(olga, ana).
visita(marta, ze).
visita(rui, olga).
visita(pedro, olga).

% emCasa(X) :- X esta em casa.

emCasa(ze).
emCasa(ana).

a) Escreva uma regra que determine quem vai receber visitas e de quem.
b) Sabendo que uma pessoa P está acompanhada e se tem visitas, acrescente a
Base de Conhecimento o predicado acompanhada/2.
c) Supondo que quando alguém sai para fazer uma visita e leva consigo todos
os que estão a visitar a mesma pessoa. Acrescente a base de conhecimento
uma regra em_casa_de que lhe permite determinar se uma pessoa está na
casa da outra.
d) Acrescente a base de conhecimento uma regra contato que lhe permite
determina qual o número do telefone para cada pessoa.
e) Sabendo que três ou mais pessoas numa casa corresponde uma festa, escreva
uma regra festa que determina se uma pessoa vai dar uma festa.

Anda mungkin juga menyukai