Написать определение операций равенства, объединения, пересечения, разности множеств - Prolog
Формулировка задачи:
Написать определение операций равенства, объединения, пересечения, разности множеств.
Помогите, пожалуйста.
Решение задачи: «Написать определение операций равенства, объединения, пересечения, разности множеств»
textual
Листинг программы
domains int=integer intl=int* predicates memb(int,intl) inters(intl,intl,intl) union(intl,intl,intl) diff(intl,intl,intl) clauses memb(_,[]) :- fail. memb(X,[X|_]) :- !. memb(X,[Y|T]) :- X<>Y, memb(X,T). inters([],_,[]). inters([X|T],W,[X|Z]) :- memb(X,W), inters(T,W,Z). inters([X|T],W,Z) :- not(memb(X,W)), inters(T,W,Z). union([],X,X). union([Z|T],W,[Z|R]) :- not(memb(Z,W)), union(T,W,R). union([Z|T],W,R) :- memb(Z,W), union(T,W,R). diff([],_,[]). diff([X|T],W,[X|R]) :- not(memb(X,W)), diff(T,W,R). diff([X|T],W,R) :- memb(X,W), diff(T,W,R).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д