【发布时间】:2015-11-10 22:49:19
【问题描述】:
我是专家系统领域的新手。我正在学习使用 CLIPS 工具。谁能帮我制作一个程序来添加三个数字? 谢谢
【问题讨论】:
标签: clips expert-system
我是专家系统领域的新手。我正在学习使用 CLIPS 工具。谁能帮我制作一个程序来添加三个数字? 谢谢
【问题讨论】:
标签: clips expert-system
CLIPS>
(deftemplate add
(multislot numbers))
CLIPS>
(defrule add-3-numbers
(add (numbers ?n1 ?n2 ?n3))
=>
(printout t ?n1 " + " ?n2 " + " ?n3 " = " (+ ?n1 ?n2 ?n3) crlf))
CLIPS> (assert (add (numbers 1 2 3)))
<Fact-1>
CLIPS> (assert (add (numbers 2 9 11)))
<Fact-2>
CLIPS> (run)
2 + 9 + 11 = 22
1 + 2 + 3 = 6
CLIPS>
更新:
CLIPS> (clear)
CLIPS>
(defrule add-3-numbers
=>
(printout t "Number 1? ")
(bind ?n1 (read))
(printout t "Number 2? ")
(bind ?n2 (read))
(printout t "Number 3? ")
(bind ?n3 (read))
(printout t ?n1 " + " ?n2 " + " ?n3 " = " (+ ?n1 ?n2 ?n3) crlf))
CLIPS> (reset)
CLIPS> (run)
Number 1? 1
Number 2? 2
Number 3? 3
1 + 2 + 3 = 6
CLIPS> (evenp 3)
FALSE
CLIPS> (oddp 7)
TRUE
CLIPS>
【讨论】: