i(potens(plus(mult(X,A),B),flt(N)),X,div(potens(plus(mult(A,X),B),flt(M)),mult(A,flt(M)))):-N<>-1,M=N+1,const(A,X), const(B,X),!.
i(potens(plus(B,mult(A,X)),flt(N)),X,div(potens(plus(mult(A,X),B),flt(M)),mult(A,flt(M)))):-N<>-1,M=N+1,const(A,X), const(B,X),!.
i(potens(plus(B,mult(X,A)),flt(N)),X,div(potens(plus(mult(A,X),B),flt(M)),mult(A,flt(M)))):-N<>-1,M=N+1,const(A,X), const(B,X),!.
i(div(flt(F),plus(mult(A,X),B)),X,mult(div(flt(F),A),ln(abs(plus(mult(A,X),B))))):-const(A,X), const(B,X),!.
i(div(flt(F),plus(mult(X,A),B)),X,mult(div(flt(F),A),ln(abs(plus(mult(A,X),B))))):-const(A,X), const(B,X),!.
i(div(flt(F),plus(B,mult(A,X))),X,mult(div(flt(F),A),ln(abs(plus(mult(A,X),B))))):-const(A,X), const(B,X),!.
i(div(flt(F),plus(B,mult(X,A))),X,mult(div(flt(F),A),ln(abs(plus(mult(A,X),B))))):-const(A,X), const(B,X),!.
i(div(flt(F),mult(plus(X,A),plus(X,B))),X,mult(div(flt(F),minus(A,B)),ln(abs(div(plus(X,B),plus(X,A)))))):-const(A,X), const(B,X),not(equal(A,B)), !.
i(div(flt(F),mult(plus(A,X),plus(X,B))),X,mult(div(flt(F),minus(A,B)),ln(abs(div(plus(X,B),plus(X,A)))))):-const(A,X), const(B,X),not(equal(A,B)),!.
i(div(flt(F),mult(plus(X,A),plus(B,X))),X,mult(div(flt(F),minus(A,B)),ln(abs(div(plus(X,B),plus(X,A)))))):-const(A,X), const(B,X),not(equal(A,B)),!.
i(div(flt(F),mult(plus(A,X),plus(B,X))),X,mult(div(flt(F),minus(A,B)),ln(abs(div(plus(X,B),plus(X,A)))))):-const(A,X), const(B,X),not(equal(A,B)),!.
i(div(F,minus(potens(X,flt(2)),potens(A,flt(2)))),X,mult(div(F,mult(flt(2),A)),ln(abs(div(minus(X,A),plus(X,A)))))):-const(A,X), const(F,X), !.
i(div(F,minus(potens(A,flt(2)),potens(X,flt(2)))),X,mult(div(mult(flt(-1),F),mult(flt(2),A)),ln(abs(div(minus(X,A),plus(X,A)))))):-const(A,X), const(F,X), !.
i(div(F,plus(potens(X,flt(2)),potens(A,flt(2)))),X,mult(div(F,A),atan(div(X,A)))):-const(A,X), const(F,X), !.
i(div(F,plus(potens(A,flt(2)),potens(X,flt(2)))),X,mult(div(F,A),atan(div(X,A)))):-const(A,X), const(F,X), !.
i(potens(A,X),X,div(potens(A,X),ln(abs(A)))):-const(A,X), !.
i(mult(X,ln(X)),X,mult(potens(X,flt(2)),minus(div(ln(X),flt(2)),div(flt(1),flt(4))))):-!.
i(mult(ln(X),X),X,mult(potens(X,flt(2)),minus(div(ln(X),flt(2)),div(flt(1),flt(4))))):-!.
i(mult(ln(X),potens(X,flt(N))),X,mult(potens(X,flt(M)),minus(div(ln(X),flt(M)),div(flt(1),potens(flt(M),flt(2)))))):-N<>-1, M=N+1, !.
i(mult(potens(X,flt(N)),ln(X)),X,mult(potens(X,flt(M)),minus(div(ln(X),flt(M)),div(flt(1),potens(flt(M),flt(2)))))):-N<>-1, M=N+1, !.
i(ln(X),X,minus(mult(X,ln(X)),X)):-!.
i(div(F,mult(X,ln(X))),X,mult(F,ln(ln(abs(X))))):-const(F,X), !.
i(div(F,mult(ln(X),X)),X,mult(F,ln(ln(abs(X))))):-const(F,X), !.
i(U,X,V):-reduce(U,U1), not(equal(U,U1)), i(U1,X,V), !.
i(mult(V,U),X,Y):-i(U,X,U1), doreduce(U1,U2), i(V,U2,Y), !.
i(mult(U,V),X,Y):-i(U,X,U1), doreduce(U1,U2), i(V,U2,Y), !.
i(mult(E,U),X,mult(E,V)):- const(E,X), i(U,X,V), !.
i(mult(U,E),X,mult(E,V)):- const(E,X), i(U,X,V), !.
i(div(E,U),X,mult(E,V)):- const(E,X), i(div(flt(1),U),X,V), !.
i(div(U,E),X,mult(div(flt(1),E),V)):- const(E,X), i(div(flt(1),U),X,V), !.
/*
CLAUSES FOR READING OF AN EXPRESSION
*/
readexp(EXP) :clearwindow,
cursor(11,1),
write("<?> for help <ESC> to quit"),
cursor(1,1),
write("Write an expression: "),!,
readexp(EXP,"",0).
readexp(flt(0)):-exit(0).
readexp(EXP1,STR,Pos) :cursor(Ypos,Xpos),
editstr(STR,STR1,Xpos,Ypos,Pos),
cursor(2,0), write(" "),
cursor(2,22),
tokl(STR1,TOKL),
s_exp(TOKL,OL,EXP),
!,
check(EXP,OL,EXP1).
check(EXP,[],EXP):cursor(2,22),
write(" \n"),
write(" \n"),
write(" \n"),
write(" \n"),
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.