prolog-toplevel

    25熱度

    2回答

    我SWI-Prolog的知識庫包含以下兩個事實: f(a,b). f(a,c). 現在,如果我提出查詢 ?- f(a,c). true. 但 ?- f(a,b). true ; false. 爲什麼F(A,B)是真是假?當知識庫中有三個事實時也會發生這種情況。如果我追加f(a,d)。到KB,則f(a,d)爲真(僅),但是f(a,b)和f(a,c)都是真和假。發生了什麼,以及我能

    6熱度

    1回答

    我做了一些代碼,創建座標(如棋盤)的矩陣,它的下面: createMatrix(N,M,R) :- creaMatriu(N,M,A), reversed(R,A). creaMatriu(N,0,[T]) :- creafila(N,0,T),!. creaMatriu(N,M,[T|C]) :- creafila(N,M,T), M1 is M-1, creaMatriu(N,M1,C).

    4熱度

    1回答

    ?- length(L,25). L = [_G245, _G248, _G251, _G254, _G257, _G260, _G263, _G266, _G 269|...]. 如果我在長度謂詞後面使用寫(L),那麼解釋器會打印兩次列表,一次展開,另一次不打印。

    4熱度

    4回答

    這聽起來很傻,但可以說我的謂詞最大/ 2返回的最大元素的列表...輸出應該是這樣的: ?- largest([1,2,3,4,5], X). X = 5. false. 我實現最大的,它的工作原理類似上面除了它doesn輸出「false」。我如何做到這一點,所以它也輸出這個「錯誤」。值?這是一個令人討厭的任務,我必須完成。 :(

    6熱度

    1回答

    列表中的兩顆星是什麼? [53, 5, 1, 53, 97, 115, 53, 50, 52, 121, 55, 56, 55, 97, 4, 1, 98, **] 我試過搜索但沒有成功。

    2熱度

    2回答

    首先感謝您的幫助。我正在編寫一個描述家庭關係的序言程序,包括公婆的所有版本。邏輯就在那裏,我需要幫助的是一些序言問題,因爲我對它不是很有經驗。我試圖通過使用分號爲每個規則設置多種可能性。 我對公婆的處理方式是讓我的兄弟也是我的兄弟,所以我需要多次檢查以確定哪些是真的。我希望prolog返回true,並且只有true,如果任何選項都爲true。但是,它會返回true和false作爲可能的選項,因爲當