-- 作者:fanplayer
-- 发布时间:6/12/2006 8:20:00 PM
-- 紧急求救..一段简单Prolog的编译运行!!!!!!
偶是菜鸟,刚学Prolog没几天,这里有段Prolog程序,用做毕设用,用了Visual Prolog的好几个编译器的版本,都不行,运行总出错。该用哪个版本的V prolog ,或者用另外的prolog编译?程序难不成有问题?请高手帮帮忙,不胜感谢.小弟毕设就要答辩了,救命啊!!!! database xpositive(symbol,symbol) xnegative(symbol,symbol) predicates run animal_is(symbol) it_is(symbol) positive(symbol,symbol) negative(symbol,symbol) clear_facts remember(symbol,symbol,symbol) ask(symbol,symbol) clauses run:- animal_is(X),!, write("\nYour animal may be a(n) ",X), nl,nl,clear_facts. run:- write("\nUnable to determine what"), write("your animal is. \n\n"),clear_facts. positive(X,Y) -xpositive(X,Y),!. positive(X,Y) -not(negative(X,Y)) ,ask(X,Y). negative(X,Y) -xnegative(X,Y),!. negative(X,Y) -not(positive(X,Y)),ask(X,Y). ask(X,Y):- write(X," it ",Y,"\n"), readln(Reply), remember(X,Y,Reply). remember(X,Y,yes):- asserta(xpositive(X,Y)). remember(X,Y,no):- asserta(xnegative(X,Y)), fail. clear_facts:- retract(xpositive(_,_)),fail. clear_facts:- retract(xnegative(_,_)),fail. clear_facts:- write("\n\nPlease press the space bar to Exit"), readchar(_). animal_is(cheetah) -it_is(mammal) , it_is(carnivore) , positive(has,tawny_color) , positive(has,black_spots). animal_is(tiger) - it_is(mammal) , it_is(carnivore) , positive(has,tawny_color) , positive(has,black_stripes). animal_is(giraffe) - it_is(ungulate) , positive(has,long_neck) , positive(has,long_legs) , positive(has,dark_spots). animal_is(zebra) - it_is(ungulate) , positive(has,black_stripes). animal_is(ostrich) - it_is(bird) , negative(does,fly) , positive(has,long_neck) , positive(has,long_legs) , positive(has,black_,_white_color). animal_is(penguin) - it_is(bird) , negative(does,fly) , positive(does,swim) , positive(has,black_,_white_color). animal_is(albatross) - it_is(bird) , positive(does,fly_well). it_is(mammal) positive(has,hair). it_is(mammal) - positive(does,give_milk). it_is(bird) - positive(has,feathers). it_is(bird) - positive(does,fly) , positive(does,lay_eggs). it_is(carnivore) - positive(does,eat_meat). it_is(carnivore) - positive(has,pointed_teeth) , positive(has,claws) , positive(has,forward_eyes). it_is(ungulate) - it_is(mammal) , positive(has,hooves). it_is(ungulate) - it_is(mammal) , positive(does,chew_cud).
|