Prolog新手在这里。我有以下事实:
%marks(person, coursework_mark, exam_mark)
marks( julie, 77, 63).
marks( pete, 55, 21).
marks( chris, 69, 53).
marks( samantha, 68, 42).
marks( james, 79, 73).
如果coursework_mark占整体成绩的25%,其余75%的考试成绩计算,那么我想编写一条规则给我总人数。
我试过了:
got_perc(Person,Perc):-marks(Person((_X*0.25)+(_Y*0.75)).
请有人帮忙吗?谢谢。
答案 0 :(得分:1)
正如潜伏者在评论中指出的那样,您需要使用is/2
标准内置谓词来进行计算。类似的东西:
got_perc(Person, Perc) :-
% get student work and exam grades
marks(Person, Work, Exam),
% calculate the student final grade
Perc is Work*0.25 + Exam*0.75.
is/2
标准内置谓词(也定义为中缀运算符)将左操作数与将右操作数作为算术表达式求值的结果统一起来。