序言逻辑问题

时间:2010-12-29 18:19:02

标签: prolog rules

提供了一个数据库,它以以下 PROLOG规则和事实的形式对所有这些信息进行编码:

1 个答案:

答案 0 :(得分:-1)

试试那些:

%Question1
isUniversity(X) :- rank(X , _).
isUniversity(X) :- students(X , _).
isUniversity(X) :- group_1994(X).
isUniversity(X) :- group_russell(X).
isUniversity(X) :- expense(X,_).

%Question2
isRankedHigher(X , Y) :-
    rank(X , R1),
    rank(Y , R2),
    R1 < R2.   

%Question3
listInOrder([_]):-!.
listInOrder([X , Y | Z]):-
    isRankedHigher(X , Y),
    listInOrder([Y|Z]).

%Question7
total([] , Acc , Acc).
total([X | Xs] , L , Acc):- 
    students(X , Y) , 
    L1 is L + Y , 
    total( Xs , L1 , Acc ).
%Use this one for Q7
add_ap_total(List , X) :- total(List , 0 , X).

prolog已经很久了,但我觉得那些有用。尝试使用列表并进行许多练习。请记住,条款的顺序很重要。如果你做计算机科学,并且你想要毕业时有一些基本的知识,我建议你融入prolog,因为它是递归的好习惯。也学习C;)

玩得开心