Определить отношение которое выполняется, если Х является энным элементом списка Список - Prolog
Формулировка задачи:
Доброго времени суток! Есть задание:
(а) Используя отношение conc, напишите цель, соответствующую вычеркиванию трех последних элементов списка L, результат — новый список L1. Указание: L — конкатенация L1 и трехэлементного списка.
(b) Напишите последовательность целей для порождения списка L2, получающегося из списка L вычеркиванием его трех первых и трех последних элементов.
(с) Определить отношение n_элемент( N, Список, X) которое выполняется, если Х является N-м элементом списка Список.
Я выполнил первые два задания, а с третьим у меня проблемы, если кто-то подскажет, буду благодарен
Листинг программы
- DOMAINS
- List = symbol*
- PREDICATES
- conc(List, List, List)
- n_element(integer, List, symbol)
- CLAUSES
- conc([], L, L).
- conc([X|L1], L2, [X|L3]):-conc(L1, L2,L3).
Решение задачи: «Определить отношение которое выполняется, если Х является энным элементом списка Список»
textual
Листинг программы
- domains
- int=integer
- intl=int*
- predicates
- del_last3(intl,intl)
- del_first3(intl,intl)
- del3(intl,intl)
- clauses
- del_last3([_,_,_],[]) :- !.
- del_last3([X|T],[X|Z]):- del_last3(T,Z).
- del_first3([_,_,_|T],T) :- !.
- del3(X,R) :- del_first3(X,R1), del_last3(R1,R).
Объяснение кода листинга программы
- В коде используется язык программирования Prolog.
- Код определяет три предиката: del_last3, del_first3 и del3.
- Предикат del_last3 принимает два аргумента типа intl (список и результат).
- Если список пуст, то результат также будет пустым списком.
- Предикат del_first3 принимает два аргумента типа intl (список и результат).
- Если список пуст, то результат также будет пустым списком.
- Предикат del3 принимает два аргумента: первый - X (неизвестное число), второй - R (результат).
- Рекурсивно вызывается два предиката: del_first3 и del_last3.
- Результатом работы предиката del3 будет список, полученный после удаления первых трех элементов из списка, содержащего X.
- В качестве начального значения для R используется пустой список.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д