Добавление нулевого элемента в список - Prolog
Формулировка задачи:
Добрый день.Помогите с программой:составить программу для сдвига списка L на 1 элемент и добавление на пустое место нулевого элемента.Спасибо)
Решение задачи: «Добавление нулевого элемента в список»
textual
Листинг программы
- domains
- int=integer
- intl=int*
- predicates
- app(intl,intl,intl)
- len(intl,int)
- head(intl,int,intl)
- tail(intl,int,intl)
- rshift(intl,intl)
- lshift(intl,intl)
- clauses
- app([],X,X).
- app([H|T],X,[H|Y]) :- app(T,X,Y).
- len([],0).
- len([_|T],N) :- len(T,N1),N=N1+1.
- head(_,0,[]).
- head([H|T],N,[H|Z]) :- N1=N-1, head(T,N1,Z).
- tail(X,0,X).
- tail([_|T],N,Q) :- N1=N-1, tail(T,N1,Q).
- rshift(X,[0|Y]) :- len(X,L), L1=L-1, head(X,L1,Y).
- lshift(X,Y) :- tail(X,1,Z), app(Z,[0],Y).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д