⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch11ex01.pro

📁 prolog,人工智能推理程序,运行环境prolog
💻 PRO
字号:
/*
   Turbo Prolog 2.0 Chapter 11, Example Program 1
   
   Copyright (c) 1986, 88 by Borland International, Inc
   
*/

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, X=-B/(2*A), write("x=", X), !.
     reply(A, B, D) :- 
         mysqrt(D, D, SqrtD),
         X1 = (-B + SqrtD)/(2*A),
         X2 = (-B - SqrtD)/(2*A),
         write("x1 = ", X1," and x2 = ", X2).

     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.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -