Функции на Swi Prolog
Формулировка задачи:
Здравствуйте, кто-нибудь знает как сделать эту функцию?
Опишите функцию, принимающую в качестве аргумента два списка и возвращающая true, если все элементы, входящие в оба списка, расположены в этих списках в одном и том же порядке.
Решение задачи: «Функции на Swi Prolog»
textual
Листинг программы
- domains
- int=integer
- intl=int*
- predicates
- memb(int,intl)
- inters(intl,intl,intl)
- task(intl,intl)
- clauses
- memb(_,[]) :- fail.
- memb(X,[X|_]) :- !.
- memb(X,[Y|T]) :- X<>Y, memb(X,T).
- inters([],_,[]).
- inters([X|T],Y,[X|R]) :- memb(X,Y), inters(T,Y,R).
- inters([X|T],Y,R) :- not(memb(X,Y)), inters(T,Y,R).
- task(X,Y) :- inters(X,Y,R1), inters(Y,X,R2), R1=R2.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д