-
Notifications
You must be signed in to change notification settings - Fork 2
/
ficha9_BB.pl
78 lines (55 loc) · 1.51 KB
/
ficha9_BB.pl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
%--------------------------------- - - - - - - - - - - - - - - -
% ITELIGÊNCIA ARTIFICIAL - MiEI/LEI/3
%--------------------------------- - - - - - - - - - - - - - - -
% Programadog em logica estendida
%--------------------------------- - - - - - - - - - - - - - - -
% PROLOG: definicoes iniciais
:- set_prolog_flag(discontiguous_warnings,off).
:- set_prolog_flag(single_var_warnings,off).
:- dynamic '-'/1.
:- dynamic mamifero/1.
:- dynamic morcego/1.
%--------------------------------- - - - - - - - - - - - - - - -
excecao(voa(X)) :-
morcego(X).
excecao(-voa(X)) :-
avestruz(X).
excecao(-voa(X)) :-
pinguim(X).
voa(X) :-
ave(X),
not(excecao(-voa(X))).
voa(X) :-
excecao(voa(X)).
-voa(X) :-
mamifero(X),
not(excecao(voa(X))).
-voa(X) :-
excecao(-voa(X)).
-voa('Tweety').
ave(X) :- canario(X).
ave(X) :- periquito(X).
ave(X) :- avestruz(X).
ave(X) :- pinguim(X).
ave('Pitigui').
avestruz('Truz').
pinguim('Pingu').
periquito('Faisca').
canario('Piupiu').
mamifero('Silvestre').
mamifero(X) :- cao(X).
mamifero(X) :- gato(X).
mamifero(X) :- morcego(X).
gato('Bichano').
cao('Boby').
morcego('Batman').
demo(Questao,verdadeiro) :- Questao.
demo(Questao,falso) :- -Questao.
demo(Questao,desconhecido) :-
not(Questao),
not(-Questao).
demoL([],[]).
demoL([Questao|L],[Resposta|S]) :-
si(Questao,Resposta),
demoL(L,S).
%--------------------------------- - - - - - - - - - - - - - - -