Обращение списка в прологе - Prolog

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

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

Добрый вечер! Помогите с заданием 5. Определите отношение обращение(Список, Список), которое обращает список, напри-мер обращение([a,b,c,d], [d,c,b,a]). Вот код написал, но не могу найти ошибку
Листинг программы
  1. DOMAINS
  2. List, ReverseList=symbol*
  3. PREDICATES
  4. reverse(List,ReverseList)
  5. reverse(List,List,ReverseList)
  6. CLAUSES
  7. reverse([],[]).
  8. reverse([Head|Tail], List, ReverseList):-
  9. reverse(Tail,ReverseList), reverse(List, [Head], ReverseList).
  10. GOAL
  11. reverse([a,b,c,d],X).

Решение задачи: «Обращение списка в прологе»

textual
Листинг программы
  1. domains
  2. int=integer
  3. intl=int*
  4.  
  5. predicates
  6. app(intl,intl,intl)
  7. rev(intl,intl)
  8.  
  9. clauses
  10.  
  11. app([],X,X).
  12. app([H|T],X,[H|Z]):- app(T,X,Z).
  13.  
  14. rev([],[]).
  15. rev([H|T],Z) :- rev(T,U), app(U,[H],Z).

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


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

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

15   голосов , оценка 3.733 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут