📄 qiujie.bak
字号:
predicates
solve(real,real,real)
reply(real,real,real)
mysqrt(real,real,real)
equal(real,real)
clauses
solve(A,_,_):-A=0,!,
write("Inputing A is wrong").
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),nl,
write(" 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),
write("b= "),readreal(B),
write("c= "),readreal(C),
write("The results are:"),
nl,
solve(A,B,C).
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -