Определить, является ли заданный список палиндромом - Prolog
Формулировка задачи:
Опишите функцию, определяющую является ли заданный список палиндромом.
Решение задачи: «Определить, является ли заданный список палиндромом»
textual
Листинг программы
- domains
- int=integer
- intl=int*
- predicates
- app(intl,intl,intl)
- rev(intl,intl)
- cmp(intl,intl)
- ispal(intl)
- clauses
- app([],X,X).
- app([H|T],X,[H|R]) :- app(T,X,R).
- rev([],[]).
- rev([H|R],Q) :- rev(R,Z), app(Z,[H],Q).
- cmp([],[]).
- cmp([],[_|_]) :- fail.
- cmp([_|_],[]) :- fail.
- cmp([X|T1],[X|T2]) :- cmp(T1,T2).
- cmp([X|_],[Y|_]) :- fail.
- ispal(X) :- rev(X,RX), cmp(X,RX).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д