Вы находитесь на странице: 1из 2

cor(céu, azul).

cor(céu, cinzento).
cor(céu, preto).
cor(mar, azul).
cor(mar, verde).
cor(mar, cinzento).
cor(via, cinzenta).
cor(via, castanha).
cor(via, preta).
transporte(céu,avião).
transporte(céu,helicóptero).
transporte(céu,foguete).
transporte(mar,navio).
transporte(mar,lancha).
transporte(via,carro).
transporte(via,camião).
transporte(via,mota).
transporte(via,autocarro).

nega(X)):(call(X),!,fail);true.
nega(X)):(call(X),!,fail).
nega(X)):-true.
?- nega(cor(céu,azul)).
no

?- nega(transporte(mar,carro)).
yes
se_entao_senao(X):-call(X),(write(ok),nl,write('...'),nl);(write(falhou),nl,writ
e('...'),nl).

?- se_entao_senao(cor(céu,azul)).
ok
...
yes
| ?- se_entao_senao(cor(ceu,azul)).
falhou
...
yes
se_entao(X,Y):-call(X),!,call(Y);true.

se_entao(cor(ceu,azul),(write('Entao'))).
yes
| ?- se_entao(cor(céu,azul),(write('Entao'))).
Entao
yes
| ?-
questao(Valor):-write('Qual o atributo (cor ou transporte)='),read(A),
write('Qual o objecto (céu,mar,via)='),read(O),
repeat,
write('Qual o valor '),write(A),write(' do '),write(O
),write(' ? '),read(Valor),P=..[A,O,Valor],call(P).
questao(X).
Qual o atributo cor ou transporte ? |: cor.
Qual o objecto céu,mar,via ?|: mar.
Qual o valor cor do mar ? |: branco.
Qual o valor cor do mar ? |: verde.
X = verde
| ?- questao(Valor).
Qual o atributo cor ou transporte ? |: cor
.
Qual o objecto céu,mar,via ?|: mar.
Qual o valor cor do mar ? |: preto.
Qual o valor cor do mar ? |: aa.
Qual o valor cor do mar ? |: verde.
Valor = verde

Вам также может понравиться