0
사실을 기준으로 목록을 비교할 수있는 Prolog에서 술어를 개발해야합니다. 즉, 목록에있는 제품의 이름이 모두 데이터베이스에있는 경우 (사실) "예"라고 대답해야하고, 그렇지 않으면 "아니오"라고합니다. 술어는 분명히 제품 이름 목록을 수신합니다. 현재이 코드를 가지고 있습니다.목록 및 데이터베이스 확인 [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"]).
그리고 지금까지 작성한 것과 관련된 문제는 무엇입니까? –
거의 완벽하게 작동합니다. 유일한 문제는 사실에있는 모든 제품을 확인하지 않는다는 것입니다. 목록에 데이터베이스보다 적은 제품이 포함되어 있는지 여부를 나타내며, 술어는 "예"로 응답합니다. – mkll