Написать определение операций равенства, объединения, пересечения, разности множеств - 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).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д