instantiation-error

    1热度

    1回答

    我在ECLiPSe下有我的CSP问题。我希望通过2 [eclipse 11]: test(Xs). instantiation fault in (_268{[1..4]}*100 + _200{[0..9]}*10 + _302{[0..9]}*1) mod 2#=0 Abort 感谢您的帮助,以添加约束到我的密码这需要由两个代表的数整除。 我的代码: /* T W O

    1热度

    1回答

    所以,我刚刚开始使用Prolog,并且我一直收到Singleton变量(Quo,C)和Argumnets的实际未实例化的错误。 Quo:- read(A), read(B), C is A/B, write(C). 这里是一个简单的代码,用于查找2个数字的除法商。

    2热度

    1回答

    我在序言中遇到了求解方程实现的问题。 我知道一些基础知识,但同时我无法理解swish.swi控制台的输出。 如果您有任何关于我的错误的帮助或建议,我将不胜感激。 delta(A, B, C, D):- D is B*B - 4*A*C. equation(A,B,C,X):- D1<0,delta(A,B,C,D1),X is 0. % or false... but how to retur

    2热度

    1回答

    我见过的between/3的Prolog Prologue定义: between(Lower, Upper, Lower) :- Lower =< Upper. between(Lower1, Upper, X) :- Lower1 < Upper, Lower2 is Lower1 + 1, between(Lower2, Upper, X). 我不

    1热度

    2回答

    的序言数数我学习序言,我想指望在一个列表中的特定元素occurence。 所以这里是代码 - count(_, [], _) := !. count(El, [El|T], N) :- N1 is N + 1, count(El, T, N1). count(El, [_|T], N) :- count(El, T, N). check(List1, Li

    1热度

    1回答

    我做了一个计算列表长度的函数。以下是我的代码。 listLength(LIST) :- solve(LIST, LENGTH), write(LENGTH). solve([], _). solve([_|T], LENGTH) :- ADD is LENGTH + 1, solve(T, ADD). 当运行该代码与输入 - ?listLength([1,2,3,4,5,6,7])。 然后

    0热度

    1回答

    我试图通过计算玩家和列来检查游戏中的偶数/奇数玩家和偶数/奇数列。在某些时候,似乎我没有正确实例化我的变量。 这里是我给游戏: playGame(Game):- countPlayers(Game,TotalPlayers), colSize(Game,TotalCols), checkEvens(TotalPlayers,TotalCols); check

    0热度

    1回答

    我读了我的代码一个小时,但我无法理解问题出在哪里。我读到这个错误意味着我使用了一个我以前没有实例化的参数,但是我看不到它在哪里。你可以帮我吗? as_monomial(X, m(X, 0, [])) :- number(X), !. as_monomial(^(Y, Z), m(1, Z, [v(Z, Y)])) :- !. as_monomial(*(X, ^(Y, Z)), m(G, K,

    1热度

    1回答

    我正在Mac上通过终端运行SWI-Prolog。我试图通过编写往常一样在终端开放swipl后访问一个Atom文件: ?- [hwk1-my_name]. 而是有知识基础的,它给了我这个玩swipl的: ERROR: Arguments are not sufficiently instantiated 我是Prolog的新手,现在我的程序只是我的教授提供的复制粘贴代码,以便开始分配任务。这

    2热度

    3回答

    我对Prolog非常陌生,我试图编写一个简单的方法来确定一个棋盘上的骑士是否可以跳到另一个方块,或者输出所有的一个骑士可以跳到正方形的方格。对于这个方法,假设第一个参数必须总是被实例化。它工作正常,给定两个参数,但我不知道为什么它不会输出只给定一个。 % validSquare/2 % validSquare(X1/Y1, X2/Y2) iff the coordinate is a valid