Advertisement
Guest User

Untitled

a guest
Jan 18th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 0.66 KB | None | 0 0
  1. ask(Attribute,Value):-
  2.   current_virus(X),
  3.   known(yes,Attribute,Value,_),     % succeed if we know its true
  4.   retractall(known(yes,Attribute,Value,_)),
  5.   assert(known(yes,Attribute,Value,X)),
  6.   !.                              % and dont look any further
  7.  
  8. ask(Attribute,Value):-
  9.   current_virus(X),
  10.   known(no,Attribute,Value,_),       % fail if we know its false
  11.   retractall(known(no,Attribute,Value,_)),
  12.   assert(known(no,Attribute,Value,X)),
  13.   !, fail.                        % and dont look any further
  14.  
  15. ask(A,V):-
  16.   write(A:V),   % if we get here, we need to ask.
  17.   write('? : '),
  18.   read(Answer),
  19.   assert(known(Answer,A,V,_)),
  20.   Answer = yes.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement