Você está na página 1de 1

Prof.

Silviane Rodrigues
Disciplina: INF0577 – Laboratório de Inteligência Computacional
Turma: 3010 – 2012/2º
REVISÃO – AV1
1) Traduza as seguintes sentenças para Prolog e use a linguagem para saber quem é feliz.
Ursula é bonita. Norberto é rico e bonito. Berta é rica e forte. Bruno é amável e forte. Pierre é bonito. Todos os homens
gostam de mulheres bonitas. Todos os homens ricos são felizes. Qualquer homem que gosta de uma mulher que gosta dele é
feliz.

2) Assumindo as seguintes definições de operadores:


:- op(300, xfx, joga).
:- op(200, xfy, e).
Crie dois fatos utilizando esses operadores.

3) Considere que o funtor pai/2 seja utilizado para estabelecer os seguintes relacionamentos:
pai(carlos, ana).
pai(lucas, cesar).
pai(carlos, silas).
pai(silas, bete).

a) Utilizando somente o funtor pai/2, escreva as seguintes perguntas em Prolog:


i)Quais são os filhos de Carlos?
ii)Quem é avô de Bete?

b) Usando também o funtor homem/1, defina a estrutura irmão(X,Y), que é verdade se X é irmã de Y.

c) Utilizando a estrutura irmao/2, defina a estrutura tio(X,Y), que é verdade se X é tio de Y.

4) Seja o script abaixo:


feliz( maria ).
feliz( pedro ).
gosta( lucas, ana ).
gosta( lucas, maria ).
gosta( maria, pedro ).
gosta( ana, X ) :- feliz( X ), gosta( X, pedro ).

Dê as respostas das seguintes perguntas:


a) ?-felix(X).
b) ?-gosta(lucas, X).
c) ?-gosta(_,maria).
d) ?-gosta(ana,X).

5) Crie uma função sucessor (X,Y) e outra chamada antecessor (X,Y), onde Y é o resultado de:

X+1 (para sucessor) e X-1 (para o antecessor).

6) Quais das seguintes operações de unificação serão bem sucedidas e quais irão falhar? Para as que forem bem
sucedidas, quais são as instanciações de variáveis resultantes?
a) ponto(A,B) = ponto(1,2).
b) ponto (A,B) = ponto (X,Y,Z).
c) ?- X+Y = 4
d) ?- X+Y = 4+2.
e) X=2, Y=3, X\=Y.

Você também pode gostar