不确定单例变量警告和未绑定变量错误

时间:2018-04-24 23:16:31

标签: prolog

编写Prolog递归规则count3(L, P, Z, N) L是一个整数列表,PL中的正数,ZL中的零个数; NL中的负数。

count3(L, P, Z, N) :-
   count3(L, O, O, O, P, Z, N).

count3([], P, Z, N, P, Z, N).
count3( [X|L], A, B, C, P, Z, N) :-
   tick(X,A,B,C,A1,B1,C1), 
   count3(L,A1,B1,C1,P,Z,N).

tick(X, P, Z, N, P1, Z, N) :- % positive
   X > 0,
   P1 is P+1.

tick(Z, P, Z, N, P, Z, N1) :- % negative
   X < 0,
   N1 is N+1.

tick(X, P, Z, N, P, Z1, N) :- % zero is unsigned
   X == 0,
   Z1 is Z+1.

获得警告:单例变量[X]表示tick / 7和 致命错误:算术表达式中的未绑定变量。任何帮助表示赞赏。

0 个答案:

没有答案