0

我需要在 Prolog 中开发一个谓词,以便将列表与事实进行比较。换句话说,如果列表中的产品名称也都在数据库中(事实),那么它必须说“是”,否则“否”。谓词显然接收产品名称列表。目前,我有这段代码。

domains
    state =  reduced ; normal
    element = string
    list = element*
database
    producte (string, integer, state)
predicates
    nondeterm check(list)
clauses 
   % ---> producte( description , price , state )
    producte("Enciam",2,normal). 
    producte("Llet",1,reduced). 
    producte("Formatge",5,normal). 
    %unique case
    check([Name]):-
        producte([Name],_,_).
    %general case
    check([D|T]):-
        producte(D,_,_),
        check(T).
Goal
    check(["Enciam","Llet","Formatge"]).
4

1 回答 1

0

检查的基本情况将产品名称作为列表而不是字符串查找。

于 2012-01-05T19:36:55.413 回答