Вставка элемента в список после всех вхождений указанного на языке программирования Пролог,prolog


Добавил:DMT
Дата создания:6 января 2008, 14:15
Дата обновления:28 апреля 2008, 12:51
Просмотров:5071 последний 12 апреля, 10:42
Комментариев: 0

Вставка элемента в список после всех вхождений указанного на языке программирования Пролог,prolog

Вариант 1:
Код на Lisp
  1. domains
  2. int=integer
  3. str=string
  4. strp=str*
  5.  
  6. predicates
  7. insert(str,str,strp,strp).
  8. /* вставка элемента в список перед указанными
  9. параметры:
  10. 1- вставляемый элемент
  11. 2- элемент после
  12. которого происходит вставка
  13. 3- исходный список
  14. 4- измененный список*/
  15.  
  16. clauses
  17. insert(X,_,[],[]):-!.
  18. insert(X,Head,[Head|Z],[Head,X|T]):-insert(X,Head,Z,T),!.
  19. insert(X,Y,[Head|Z],[Head|N]):- insert(X,Y,Z,N).
При использовании обязательна ссылка на http://DMTSoft.ru
Вариант 2:
Код на Lisp
  1.  
  2. domains
  3. s=symbol
  4. i=integer
  5. ss=s*
  6. predicates
  7. ins(s,ss,ss,ss).
  8. clauses
  9. ins(N,P,[ ],[ ]).
  10. ins(N,P,[P|H],[N,P|H]).
  11. ins(N,P,[M|H],[M|H]).
  12. ins(N,P,H,H1).
  13. goal
  14. ins(a,c,[b,c,d],T),write(T).
  15.  
При использовании обязательна ссылка на http://DMTSoft.ru
up