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

check の基本ケースは、製品名を文字列ではなくリストとして検索します。

于 2012-01-05T19:36:55.413 に答える