?? 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 + -