Определить отношение которое выполняется, если Х является энным элементом списка Список - Prolog

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

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

Доброго времени суток! Есть задание: (а) Используя отношение conc, напишите цель, соответствующую вычеркиванию трех последних элементов списка L, результат — новый список L1. Указание: L — конкатенация L1 и трехэлементного списка. (b) Напишите последовательность целей для порождения списка L2, получающегося из списка L вычеркиванием его трех первых и трех последних элементов. (с) Определить отношение n_элемент( N, Список, X) которое выполняется, если Х является N-м элементом списка Список.
Листинг программы
  1. DOMAINS
  2. List = symbol*
  3. PREDICATES
  4. conc(List, List, List)
  5. n_element(integer, List, symbol)
  6. CLAUSES
  7. conc([], L, L).
  8. conc([X|L1], L2, [X|L3]):-conc(L1, L2,L3).
Я выполнил первые два задания, а с третьим у меня проблемы, если кто-то подскажет, буду благодарен

Решение задачи: «Определить отношение которое выполняется, если Х является энным элементом списка Список»

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

Объяснение кода листинга программы

  1. В коде используется язык программирования Prolog.
  2. Код определяет три предиката: del_last3, del_first3 и del3.
  3. Предикат del_last3 принимает два аргумента типа intl (список и результат).
  4. Если список пуст, то результат также будет пустым списком.
  5. Предикат del_first3 принимает два аргумента типа intl (список и результат).
  6. Если список пуст, то результат также будет пустым списком.
  7. Предикат del3 принимает два аргумента: первый - X (неизвестное число), второй - R (результат).
  8. Рекурсивно вызывается два предиката: del_first3 и del_last3.
  9. Результатом работы предиката del3 будет список, полученный после удаления первых трех элементов из списка, содержащего X.
  10. В качестве начального значения для R используется пустой список.

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


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

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

8   голосов , оценка 3.875 из 5

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

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

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