亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? stove.clp

?? 介紹ANTLR使用的JAVA程序例子
?? CLP
?? 第 1 頁 / 共 2 頁
字號:
;
;*******************************
;** FINAL PROJECT             **
;**                           **
;** BY THAD FIEBICH           **
;** FOR CSCI 5931             **
;**     EXPERT SYSTEMS        **
;**     DR. GIARRATANO        **
;**     SPRING 1987           **
;**                           **
;*******************************
;
;
;
;        LOGIC OF THE PROGRAM
;     ____________________________
;
; The program is designed to diagnose a problem with a gas or electric
; stove and recommend the best way to fix the appliance. The problems
; and ways to fix the problem are as follows.
;
; First the program determines if the stove is electric or gas and if
; the problem is with the burners or the oven then
;
;		PROBLEM				
;
; no power to the stove	
;   	Check the fuse box and reset any blown fuses. If this does not work
;	call a professional
;
; ELECTRIC STOVE
; burner not working
;	Trade places with a good element. If the element still does not work
;	replace it. If the element now works then remove the element and
;	check the terminals for a blue tinge or a black coating or if the
;	ends are bent. All can mean that the terminal block unit is bad.
;	Check the unit for burn marks and if found replace. Else test the
;	burner switch and replace if bad. Else you have a bad wire and
;	you must trace the wire from the power to the switch to the
;	burner to find the problem.
;
; oven not working
;	Test the oven element to see if the element is bad and replace if
;	neccessary. Else check the switch and replace if bad. Else check
;	for a bad wire.
;
; GAS STOVE
; burner not working
;	Check the burner igniters and replace if bad. Else check the 
;	control switch and replace if bad. Else check the electrode
;	unit and replace if bad. Else call a professional.
;
; oven not working
;	Check the igniter for a glow. If none replace the igniter. Else
;	check and clean the orffice and replace. Check for any leaks
;	during reinstallation. Else call a professional.
; 
;
;********************************
;rule1:
;	initializes the program
;********************************
 
(defrule init
 (declare (salience 9980))
 ?x <- (initial-fact) =>
 (retract ?x)
 (assert (need professional n))
 (assert (start)))


;****************************
; rule2:
;	used to end the program and call the init rule to
;	reset the program
;****************************

(defrule end1
 (declare (salience 9200))
 ?w <- (stop)
 =>
 (retract ?w)
 (reset)
 (halt))
 




;****************************
;rule3:
;     	gives the opening message and asks what type of oven
;	you have
;****************************

(defrule begin
 (declare (salience -9000))
 ?x <- (start) =>
 (printout t crlf crlf crlf
	"The program is designed to help in repairing an electric or" crlf
	"gas stove.  The program will take you step by step through" crlf
	"the procedures to repair the appliance." crlf crlf
	"do you have a" crlf
        "  1) electric stove" crlf
	"  2) gas stove" crlf
        "  3) or exit the program" crlf 
	"Choose 1 - 3 -> ")
 (retract ?x)
 (assert (oven type =(read))))


;****************************
;rule4:
;	checks to see that a correct selection was made from
;	the opening message, if no redisplay message
;****************************
 
(defrule ck-select
 (declare (salience 9998))
 ?x <- (oven type ?ch&:(not (numberp ?ch)))
 (or (test (<= ?ch 0))
     (test (> ?ch 3))) =>
 (printout t crlf crlf
	"*** your selection must be either 1,2, or 3 ***" crlf)
 (retract ?x)
 (assert (start)))


;****************************
;rule5
;	asks if there is a burner problem
;****************************
 
(defrule burner-prob
 (declare (salience -500))
 (oven type ?) =>
 (printout t crlf crlf "Is there a problem with the burners? y or n ")
 (assert (burner problem =(read))))


;****************************
;rule6
;	asks if there is a oven problem
;****************************
 
(defrule oven-prob 
 (declare (salience -1000))
 (oven type ?) =>
 (printout t crlf crlf "Is there a problem with the oven? y or n ")
 (assert (oven problem =(read))))


;****************************
;rule7
;	ask if there is any power going to the stove
;****************************

(defrule ck-power
 (declare (salience 1500))
 (oven type 1) =>
 (printout t crlf crlf "Does the stove have any electrical power? y or n ")
 (assert (power =(read))))


;****************************
;rule8
;	tells the user to check the breaker for a blown fuse
;****************************

(defrule ck-breaker
 (declare (salience 100))
 ?x <- (power n) =>
 (printout t crlf crlf
	"Go to your home fuse box and check the circuit breaker for" crlf
	"the stove to see if it has been tripped.  If it has, reset it" crlf
	"and retry the stove." crlf crlf
	"Is the stove still without power? y or n ")
 (retract ?x)
 (assert (still no power =(read))))


;****************************
;rule9
;	checks to see if still no power even after breaker checked
;****************************

(defrule still-prob
 ?x <- (still no power y) =>
 (retract ?x)
 (assert (need professional y))
 (assert (stop)))


;****************************
;rule10
;	tells the user to let a professional handle the problem
;	due to danger
;****************************

(defrule get-help
 (declare (salience 9999))
 (need professional y) =>
 (printout t crlf crlf
	"This problem may be serious and would be best left to a " crlf
	"professional.  Tring to continue to repair the stove could" crlf
	"be dangerous." crlf crlf)
 (assert (stop)))

  
;****************************
;rule11
;	asks user what type of electric burner element type there is
;****************************

(defrule element-type
 (oven type 1)
 (burner problem y) =>
 (printout t crlf crlf "Is the burner element a " crlf crlf
		     " 1) push in/pull out type" crlf    
		     " 2) screw in type" crlf crlf
		     "Choice -> ")
 (assert (burner type =(read))))        


;****************************
;rule12
;	checks to see if a burner of the same size as the problem
;	element is working
;****************************
	 
(defrule any-elect-working
 (oven type 1)
 (burner problem y) =>
 (printout t crlf crlf
	"Is at least one burner of each size still working? y or n ")
 (assert (some work =(read))))


;***************************
;rule 13
;	rule to trade a working element with a nonworking to test
;***************************

(defrule element-trade
 ?x <- (some work y) =>
 (printout t crlf crlf
	"Remove the element that is not working properly and exchange" crlf
	"it with another burner element of the same size." crlf crlf
   	"***  be sure to cut the power before working ***" crlf crlf
	"Turn both element controls to high. Is the element that " crlf
	"was not working properly still not working? y or n ")
 (retract ?x)
 (assert (bad element =(read))))


;***************************
;rule14
;	determines the element is bad
;***************************

(defrule bad-element
 ?x <- (bad element y)
 =>
 (printout t crlf crlf
	"The burner element is bad.  You must replace the bad " crlf
	"element.  Afterward, check the burner and if there" crlf
	"is still a problem rerun this program." crlf)
 (retract ?x)
 (assert (stop)))

 
;***************************
;rule 15
;	tells user to use a ohmmeter to test element
;***************************

(defrule element-trade2
 ?x <- (some work n) =>
 (printout t crlf crlf
 	"Since you do not have another working element to interchange" crlf
	"with, you will have to test the element with a ohmmeter.  Cut" crlf
	"the power to the stove and remove the burner.  Place a probe" crlf
	"from the ohmmeter on each of the terminals of the element." crlf
	"Does the ohmmeter register 0 resistance? y or n ")
 (retract ?x)
 (assert (bad element =(read))))


;*****************************
;rule16
;	check for bent terminals
;*****************************

(defrule ck-element1
 (declare (salience -20))
 (burner problem y)
 (burner type 1) =>
 (printout t crlf crlf
	"Check the ends of the termnials." crlf
	"Do they appear bent? y or n ")
 (assert (terminals bent =(read))))


;***************************
;rule17
;	rule for if there is a bent terminal
;***************************

(defrule bent-terminals
 ?x <- (terminals bent y) =>
 (printout t crlf crlf
	"This shows that the element was installed improperly." crlf
	"This can cause terminal block failure." crlf)
 (retract ?x)
 (assert (check terminal block)))


;***************************
;rule18
;	checks if black coating on terminals
;***************************

(defrule ck-element2
 (declare (salience -10))
 (burner problem y)
 (burner type 1) =>
 (printout t crlf crlf
	"Check the ends of the terminals. Is there any sign of a black" crlf
	"coating on the terminals? y or n ")
 (assert (black coating =(read))))  
 

;****************************
;rule 19
;	rule for if black coating found on terminals
;****************************

(defrule black-coating
 ?x <- (black coating y)
 =>
 (printout t crlf crlf
 	"This is caused from a bad contact with the terminals to the" crlf
	"terminal block." crlf)
 (assert (check terminal block))
 (retract ?x))


;****************************
;rule20
;	rule to test if a blue tinge on terminals
;****************************

(defrule blue-tinge
 (declare (salience -10))
 (burner problem y)
 (burner type ?) =>
 (printout t crlf crlf
	"Check the ends of the terminals for any sign of a blue" crlf
	"tinge.  Does one exist? y or n ")
 (assert (blue tinge =(read))))


;****************************
;rule21
;	rule for if blue tinge found on terminals
;****************************

(defrule blue-tinge-exists
 ?x <- (blue tinge y) =>
 (printout t crlf crlf
 	"This is causd from grease being splattered onto the terminals" crlf
	"and then being heated to a high temperature.  This can cause " crlf
	"terminal block failure" crlf)
 (retract ?x)
 (assert (check terminal block)))
 

;****************************
;rule22
;	asks user to check the terminal block unit for burn marks
;****************************

(defrule ck-terminal-block
 ?x <- (check terminal block) =>
 (printout t crlf crlf
 	"Shine a light inside the terminal block." crlf
	"Do the contacts inside appear to be burned? y or n ")
 (retract ?x)
 (assert (burned contacts =(read))))


;****************************
;rule 23
;	rule for if burn marks found on terminal block unit
;****************************

(defrule burned-contacts
 ?x <- (burned contacts y)
 =>
 (printout t crlf crlf
 	"Replace the terminal block unit for the burner.  Afterward" crlf
	"sand the terminal ends with a fine sand paper or steel wool." crlf
	"Reinstall the unit and check the burner.  If there is still" crlf
	"a problem then rerun this program." crlf)
 (retract ?x)
 (assert (stop)))

;****************************
;rule24:
;	checks to see if there is any wear on the element
;	surface
;****************************

(defrule ck-element-for-wear
 (declare (salience -10))
 (oven type 1)
 (burner problem y) =>
 (printout t crlf crlf
	"Electric range elements use nichrome wires made of a nickle" crlf
	"and chromium alloy covered by a metal sheathing with a black" crlf
	"coating. Does the outside coating of the element appear to " crlf
	"have worn away at any point? y or n ")
 (assert (element worn =(read))))

;****************************
;rule25:
;	handles if the element is worn
;****************************

(defrule element-worn
 ?x <- (element worn y)
 =>
 (printout t crlf crlf
	"The nichrome wire has touched the sheathing and the wire has " crlf
	"burned out.  Replace the element.  Afterward recheck the " crlf
	"burner.  If there is still a problem rerun this program." crlf)
 (retract ?x)
 (assert (stop)))

;****************************
;rule26:
;	rule to check if any crimped wires
;****************************

(defrule ck-wires
 (declare (salience -100))
 (bad element n) =>
 (printout t crlf crlf
	"You must now lift up the top of the stove and check the wires" crlf
	"leading to the nonworking element." crlf
        "Do the wires appear crimped? y or n ")
 (assert (crimped wire =(read))))

;****************************
;rule27:
;	handles if there is a crimped wire
;****************************

(defrule crimped-wire
 ?x <- (crimped wire y)
 =>
 (printout t crlf crlf
	"First be sure the stove is unplugged.  Next strip the" crlf
        "insulation away from the crimped area and twist the loose" crlf
	"end together.  Solder the wire and cover the splice with" crlf
	"a ceramic nut." crlf
	"*** CAUTION - do not use a plastic nut as the high temperature" crlf
	"              will cause it to melt" crlf
	"Afterward, plug the stove in and recheck the element. If there" crlf
	"is still a problem rerun this program." crlf)
 (retract ?x)
 (assert (stop)))

;****************************
;rule27:
;	rule to handle if no crimped wire found
;****************************

(defrule no-crimped-area
 ?x <- (crimped wire n) =>
 (printout t crlf crlf
	"Unplug the stove.  Next, remove the screws from the control" crlf
	"panel and lean the panel forward.  You may have to remove " crlf
	"screws from the rear of the panel.  Label the wires leading" crlf
	"to the control switch of the nonworking element and those " crlf
	"of a working element of the same size.  Switch the wires of" crlf

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美国产综合一区 | 精品国产污网站| 欧美日本国产一区| 欧美精品久久久久久久多人混战| 9i看片成人免费高清| 成人精品小蝌蚪| 99视频精品免费视频| 在线欧美小视频| 91精品国产综合久久婷婷香蕉| 欧美亚洲动漫精品| 精品国产99国产精品| 国产日韩欧美制服另类| 综合分类小说区另类春色亚洲小说欧美| 一区二区在线观看免费| 亚洲精品高清在线| 久久国产综合精品| 成人免费看黄yyy456| 91在线观看成人| 日韩久久久精品| 亚洲素人一区二区| 久久99在线观看| 91精品福利视频| 久久久久久久电影| 五月激情综合色| 一本大道久久a久久精品综合| 91精品国产综合久久精品| **欧美大码日韩| 韩日av一区二区| 91.麻豆视频| 一区二区在线观看视频| 丁香啪啪综合成人亚洲小说| 7777精品伊人久久久大香线蕉超级流畅 | 日韩欧美激情在线| 日韩国产欧美三级| 欧美主播一区二区三区美女| 国产色婷婷亚洲99精品小说| 日本不卡中文字幕| 欧美精品v日韩精品v韩国精品v| 欧美国产精品专区| 国产一区 二区| 亚洲精品在线免费观看视频| 男男gaygay亚洲| 日韩女优毛片在线| 国产在线日韩欧美| 亚洲图片一区二区| 在线观看一区二区精品视频| 国产精品伦一区| 色婷婷精品久久二区二区蜜臂av| 国产精品久久久久国产精品日日 | 欧美视频在线一区| 日日夜夜精品免费视频| 欧美一区二区在线不卡| 久久av中文字幕片| 久久久蜜臀国产一区二区| 成人一级视频在线观看| 最新久久zyz资源站| 欧美午夜精品免费| 极品瑜伽女神91| 一区二区在线观看av| 激情综合网最新| 9人人澡人人爽人人精品| 亚洲另类在线一区| 日韩午夜精品视频| 97久久精品人人爽人人爽蜜臀| 一区二区三区在线不卡| 亚洲精品在线免费播放| 91麻豆6部合集magnet| 秋霞av亚洲一区二区三| 国产精品亲子伦对白| 欧美一级精品在线| 欧美日韩国产精品成人| 99久久99精品久久久久久| 久久精品72免费观看| 夜夜亚洲天天久久| 国产精品毛片a∨一区二区三区| 制服丝袜中文字幕亚洲| 99精品视频一区二区三区| 久久精品国产亚洲一区二区三区| 中文字幕亚洲区| 成人欧美一区二区三区| 久久天堂av综合合色蜜桃网| 欧美丰满美乳xxx高潮www| 欧美色男人天堂| 在线免费视频一区二区| 成人黄色免费短视频| 国产精品1区2区3区| 精品一区二区三区免费毛片爱| 亚洲狠狠爱一区二区三区| 一级特黄大欧美久久久| 最新热久久免费视频| 亚洲免费观看在线观看| 亚洲一级二级三级在线免费观看| 亚洲视频一区在线观看| 一区二区三区高清在线| 一区二区三区日韩欧美精品| 亚洲一区二区美女| 秋霞午夜av一区二区三区| 免费一级欧美片在线观看| 精久久久久久久久久久| 成人视屏免费看| 欧美男同性恋视频网站| 日韩欧美电影一二三| 国产精品乱码人人做人人爱 | 日本视频中文字幕一区二区三区| 午夜激情久久久| 久久91精品久久久久久秒播| 国产大陆亚洲精品国产| 欧美一区二区三区影视| 久久久久国产精品厨房| 亚洲乱码中文字幕| 久久精品72免费观看| 99精品一区二区| 久久久国产精品不卡| 亚洲综合在线第一页| 国产大片一区二区| 精品国产乱码久久久久久牛牛| 亚洲人成7777| 成人午夜伦理影院| 2022国产精品视频| 免费成人你懂的| 欧美日韩一区在线| 一区二区三区在线免费播放| 国产精品中文有码| 日韩欧美中文字幕精品| 一区二区三区高清| 91蜜桃网址入口| 亚洲精品高清视频在线观看| 国产精品一区在线观看你懂的| 欧美一级在线观看| 天天综合日日夜夜精品| 欧洲精品中文字幕| 亚洲动漫第一页| 懂色一区二区三区免费观看| 国产婷婷色一区二区三区在线| 91美女片黄在线| 蜜桃在线一区二区三区| 亚洲天堂福利av| 久久 天天综合| 欧洲激情一区二区| 欧美国产日韩在线观看| 六月婷婷色综合| 精品视频在线看| 国产精品久久久久久一区二区三区| 午夜电影一区二区三区| caoporm超碰国产精品| 精品国产免费一区二区三区四区 | 日韩视频免费直播| 1024国产精品| 国产成人亚洲精品青草天美| 在线成人小视频| 精品少妇一区二区三区日产乱码| 国产一区二三区| 亚洲成人综合视频| 日韩一区二区免费在线观看| 一区二区三区91| 成人app软件下载大全免费| 精品免费视频一区二区| 免费欧美在线视频| 欧美人狂配大交3d怪物一区| 亚洲精品一二三| 成人h精品动漫一区二区三区| 久久久精品免费观看| 紧缚捆绑精品一区二区| 欧美成人伊人久久综合网| 免费看日韩a级影片| 欧美一级久久久| 综合亚洲深深色噜噜狠狠网站| 日韩视频免费观看高清在线视频| 日韩亚洲欧美一区二区三区| 婷婷国产在线综合| 欧美日韩黄色影视| 天堂久久久久va久久久久| 欧美视频第二页| 亚洲国产乱码最新视频 | 亚洲国产一区二区a毛片| 色av一区二区| 国产精品色哟哟| 色乱码一区二区三区88| 欧美一级片免费看| 国产福利一区二区三区视频在线 | 欧美日韩中文字幕一区二区| 首页亚洲欧美制服丝腿| 欧美成人艳星乳罩| 91极品视觉盛宴| 成人免费高清在线| 97se亚洲国产综合自在线观| 日韩亚洲欧美中文三级| 3751色影院一区二区三区| 国产激情视频一区二区三区欧美| 亚洲乱码国产乱码精品精可以看 | 欧美色区777第一页| 国产精品99久久久久久久vr| 一区二区三区在线视频观看 | 欧美日韩国产天堂| 国产精品18久久久久久久久久久久 | 国产91在线|亚洲| 亚洲丰满少妇videoshd| 中文字幕免费一区| 日韩一卡二卡三卡| 在线观看一区日韩|