Вопрос 5. Написать программу для осуществления реверса списка.


Добавил:DMT
Дата создания:30 декабря 2007, 19:21
Дата обновления:30 декабря 2007, 19:21
Просмотров:6142 последний позавчера, 2:33
Комментариев: 3
Вопрос 5. Написать программу для осуществления реверса списка.
up

Комментарии для "Вопрос 5. Написать программу для осуществления реверса списка. "


Пользователь: DMT
Сообщений: 123
Статус: Программист
Зарегистрирован:
18 октября 2007, 2:35
Был:13 ноября 2017, 4:54
DMT
smsup
Дата: 4 января 2008, 14:21 Сообщение № 1
Код на Lisp
  1. domains
  2. int=integer
  3. str=string
  4. strp=str*
  5. predicates
  6. revers(strp,strp).
  7. /* инверсия списка (вызываемая функция)
  8. параметры:
  9. strp - исходный список
  10. strp - инвертированный список */
  11. clauses
  12. revers(X,Y):- revers([],X,Y).
  13. revers(Y,[],Y).
  14. revers(X1,[Z|X2],Y):- revers([Z|X1],X2,Y).
  15. goal
  16. revers(["1","2","3","4","5","6"],Ls),write(Ls).
При использовании обязательна ссылка на http://DMTSoft.ru
Пользователь: DMT
Сообщений: 123
Статус: Программист
Зарегистрирован:
18 октября 2007, 2:35
Был:13 ноября 2017, 4:54
DMT
smsup
Дата: 4 января 2008, 14:26 Сообщение № 2
Вариант 2:
Код на Lisp
  1. PREDICATES
  2. rev(slist, slist, slist)
  3. CLAUSES
  4. rev([],[],[]):-
  5. dlg_MessageBox("Ошибка!!!","Попытка обратить пустой список",
  6. mesbox_iconError,mesbox_buttonsOK,mesbox_defaultFirst,
  7. mesbox_suspendApplication), fail,!.
  8. rev([], NewSp, NewSp):-!.
  9. rev([H|T], S, NewSp):- rev(T,[H|S], NewSp), !.
При использовании обязательна ссылка на http://DMTSoft.ru

Пользователь: kate
Сообщений: 9
Статус: Незримый
Зарегистрирован:
4 января 2008, 14:05
Был:28 января 2008, 21:05
kate
smsup
Дата: 8 января 2008, 13:23 Сообщение № 3
Код на Lisp
  1. predicates
  2. revers(slist,slist)
  3. append(slist,string,slist)
  4. clauses
  5. revers([],[]).
  6. revers([X|Y],L1):-revers(Y,L2),append(L2,X,L1).
  7. append([],L,[L]).
  8. append([X1|L1],L2,[X1|L3]):- append(L1,L2,L3).
При использовании обязательна ссылка на http://DMTSoft.ru