instantiation-error

    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,

    2熱度

    1回答

    我試圖定義函數int(?X)在序言這是一個非零整數發生器,它是這樣工作的非零整數的列表: ?- int(X). X = 1 ; X = -1 ; X = 2 ; X = -2 ; 我嘗試以下沒有運氣: int(X):- positives(Y), Y is abs(X). positives(1). positives(X):- positives(Y), X is Y+1. ,但我

    1熱度

    1回答

    我有車的列表(在德國汽車),其中第一個變量是車牌,第二個速度: [auto(eu-ts884, 69), auto(dn-gh184, 64), auto(ac-lj123, 72)]. 現在我試着寫的平均謂詞,但它失敗,出現錯誤消息: ERROR: Arguments are not sufficiently instantiated 到目前爲止我的代碼: durchschnitt([],

    1熱度

    1回答

    我的程序無法正常工作。當我嘗試測試它時,我有一個錯誤。 我用於測試示例: if_avl_tree(t(t(t(nil/0, 3, nil/0)/1, 7, t(t(nil/0, 9, nil/0)/1, 11, nil/0)/2)/3, 16, t(nil/0, 25, t(nil/0, 40, nil/0)/1)/2)/4). 這是我的代碼: if_avl_tree(t(_,_,_)/_)

    1熱度

    1回答

    我是Prolog新手,目前正在研究一個簡單的約束編程問題。所以我有四個實數A,B,C,D,其性質如下: A + B + C + d = A B C * D = 7.11 由於使用整數更容易,我嘗試了以下執行: :- use_module(library(clpfd)). grocery(Vars):- Vars=[A,B,C,D], X #= 100 * A,

    1熱度

    1回答

    我正在編寫一個Prolog謂詞,將前三個元素從編號列表中刪除並打印結果。編號列表的例子: [e(f,1),e(o,2),e(o,3),e(b,4),e(a,5),e(r,6)]. 原來斷言對於正常的名單看起來是這樣的: strim([H|T],R) :- append(P,R,[H|T]), length(P,3). 所以,既然長度斷言完全適用於編號列表,以及,我只有寫

    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])。 然後