📄 fangchen.bak
字号:
domains
list=integer*
int=integer
predicates
solve(real,real,real)
reply(real,real,real)
mysqrt(real,real,real)
equal(real,real)
clauses
solve(A,B,C):-D=B*B-4*A*C,reply(A,B,D),nl.
reply(_,_,D):-D<0,write("No solution"),!.
reply(A,B,D):-D=0,write("One solution "),
X=-B/(2*A),write(X),!.
reply(A,B,D):-mysqrt(D,D,SqrtD),
X1=(-B+SqrtD)/(2*A),
X2=(-B-SqrtD)/(2*A),
write(" X1=",X1," X2=",X2),
nl.
mysqrt(X,Guess,Root):-NewGuess=Guess-(Guess*Guess-X)/2/Guess,
not(equal(NewGuess,Guess)),!,
mysqrt(X,NewGuess,Root).
mysqrt(_,Guess,Guess).
equal(X,Y):-X/Y>0.99999,X/Y<1.00001.
goal
write("a= "),readreal(A),nl,
write("b= "),readreal(B),nl,
write("c= "),readreal(C),nl,
writef("The solution of "),
writef("(%d)X~2+(%d)X+%d=0 is",A,B,C),nl,
solve(A,B,C).
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -