Обращение списка в прологе - Prolog
Формулировка задачи:
Добрый вечер! Помогите с заданием 5. Определите отношение обращение(Список, Список), которое обращает список, напри-мер обращение([a,b,c,d], [d,c,b,a]).
Вот код написал, но не могу найти ошибку
Листинг программы
- DOMAINS
- List, ReverseList=symbol*
- PREDICATES
- reverse(List,ReverseList)
- reverse(List,List,ReverseList)
- CLAUSES
- reverse([],[]).
- reverse([Head|Tail], List, ReverseList):-
- reverse(Tail,ReverseList), reverse(List, [Head], ReverseList).
- GOAL
- reverse([a,b,c,d],X).
Решение задачи: «Обращение списка в прологе»
textual
Листинг программы
- domains
- int=integer
- intl=int*
- predicates
- app(intl,intl,intl)
- rev(intl,intl)
- clauses
- app([],X,X).
- app([H|T],X,[H|Z]):- app(T,X,Z).
- rev([],[]).
- rev([H|T],Z) :- rev(T,U), app(U,[H],Z).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д