пролог логические проблемы - PullRequest
1 голос
/ 29 декабря 2010

Поставляется база данных, которая кодирует всю эту информацию в виде следующих правил и фактов PROLOG :

1 Ответ

0 голосов
/ 29 декабря 2010

Попробуйте это:

%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 -ед, но я думаю, что это работает.Попробуйте работать со списками и делать много упражнений.Помните, что последовательность пунктов имеет значение.Если вы занимаетесь информатикой и хотите получить высшее образование с некоторыми базовыми знаниями, я рекомендую вам погрузиться в пролог, поскольку это хорошая практика для рекурсии.Выучи также C;)

Веселись

...