Можете объяснить - Prolog

Узнай цену своей работы

Формулировка задачи:

пожалуйста как работает

Решение задачи: «Можете объяснить»

textual
Листинг программы
DOMAINS
s=string   sl=s*   sll=sl*
%
CONSTANTS
ps=["Майкл","Саймон","Ричард"]
cs=["американец","бразилец","австралиец"]
ss=["теннис","футбол","баскетбол"]
%
PREDICATES
nondeterm mix(sl,sl,sl,sll)
nondeterm select(sl,s,sl)   select(sll,sl,sll)
nondeterm ups(s,s,s,sl,sl)
%
CLAUSES
%
mix([],_,_,[]):- !.
mix(A,B,C,[[D,E,F]|G]):- select(A,D,An), select(B,E,Bn), select(C,F,Cn),
                          not(ups(D,E,F,Bn,Cn)), mix(An,Bn,Cn,G).
%
select([A|B],A,B).
select([A|B],C,[A|D]):- select(B,C,D).
%
ups("Майкл",_,X,_,_):- X<>"баскетбол".
ups("Майкл",_,_,X,_):- not(select(X,"американец",_)).
ups("Саймон",X,_,_,_):- X<>"бразилец".
ups("Саймон",_,_,_,X):- not(select(X,"теннис",_)).
ups(_,_,X,_,[_,_]):- X<>"футбол".
Goal: mix(ps,cs,ss,Out).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы