Июн, 2010 Сообщений: 2 | maria url://forum.message:3071 снова про ошибку 707 Понимаю, конечно, что вопрос глупый, но всё же: есть задача: tg(1)+tg(1)tg(2)+...+tg(1)tg(2)...tg(n). попробовала написать её следующим образом: 1 predicates
2 sum(integer,real,real)
3 sum(integer,integer,real,real,real,real)
4 clauses
5 sum(N,A,Sum):-
6 sum(0,N,A,_,_,Sum).
7 sum(C,N,A,X,S,Sum):-
8 C<N, !, C1=C+1, X1=X*(A+C1), S1=S+tan(X1),
9 sum(C1,N,A,X1,S1,Sum).
10 sum(_,_,_,_,Sum,Sum).
11 goal
12 write("N="), readint(N),
13 sum(N,A,Sum), write("summa=",S1). Почему-то останавливается в 8 строке на “X” выдает ошибку 707. Ранее в 6 строке была запись sum(0,N,A,A,A,Sum), ругался, писал 420 ошибку, от неё вроде избавилась... что с этой делать непонятно. Это сообщение было отредактировано popoff 08.06.10 18:16. |
Июл, 2004 Сообщений: 923 | popoff url://forum.message:3077 maria, Для понятности указывайте, пожалуйста не код ошибки, а текст сообщения об ошибке. В строке 8 у Вас ошибка «переменная не конкретизирована». Пролог не может посчитать, сколько будет X*2, если X не конкретизирована. Что могло быть в строке 6 - не могу сказать, требуется текст сообщения об ошибке. ________________________________ Если не будет деревьев — нам нечем будет дышать, если вода загрязнится — нам нечего будет пить. |