Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Prolog > Вычеслить подсписок исходного списка, начинающийся


Автор: 203 1.4.2015, 00:41
Здравствуйте. Подскажите пожалуйста почему не работает программа, пишу на Prolog 5.2. Условие: Создайте предикат, вычисляющий по списку и числу, подсписок исходного списка, начинающийся с элемента с указанным номером.
Код

domains
list = integer*

predicates
sublist(integer,integer,list,list)

clauses
sublist(_,_,[],[]):-!.
sublist(N,N,L,L):-!.
sublist(M,N,[H|T],T1):-
  M<N,
  M1=M+1,
  sublist(M1,N,T,T1).

goal
  write("N="), readint(N),
  write("L="), readterm(list,L),
  sublist(1,N,L,L1),write(L1),nl.

Ошибка после ввода N и L:

Код

PROGRAM ERROR. Module:OBJ\GOAL$000.PRO Pos:831
 Message:1405 List start expected (during term reading or converting)

Заранее спасибо

Автор: 203 1.4.2015, 16:39
Всем спасибо, разобрался

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)