Добавление нулевого элемента в список - Prolog

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

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

Добрый день.Помогите с программой:составить программу для сдвига списка L на 1 элемент и добавление на пустое место нулевого элемента.Спасибо)

Решение задачи: «Добавление нулевого элемента в список»

textual
Листинг программы
  1. domains
  2. int=integer
  3. intl=int*
  4.  
  5. predicates
  6. app(intl,intl,intl)
  7. len(intl,int)
  8. head(intl,int,intl)
  9. tail(intl,int,intl)
  10. rshift(intl,intl)
  11. lshift(intl,intl)
  12.  
  13. clauses
  14.  
  15. app([],X,X).
  16. app([H|T],X,[H|Y]) :- app(T,X,Y).
  17.  
  18. len([],0).
  19. len([_|T],N) :- len(T,N1),N=N1+1.
  20.  
  21. head(_,0,[]).
  22. head([H|T],N,[H|Z]) :- N1=N-1, head(T,N1,Z).
  23.  
  24. tail(X,0,X).
  25. tail([_|T],N,Q) :- N1=N-1, tail(T,N1,Q).
  26.  
  27. rshift(X,[0|Y]) :- len(X,L), L1=L-1, head(X,L1,Y).
  28. lshift(X,Y)  :- tail(X,1,Z), app(Z,[0],Y).

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


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

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

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

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

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

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