SICP 習題 (2.10)解題總結: 區間除法中除於零的問題

SICP 習題 2.10 要求我們處理區間除法運算中除於零的問題。


題中講到一個專業程序員Ben Bitdiddle看了Alyssa的工作後提出了除於零的問題,大家留意一下這個叫Ben的人,後面會不斷出現這個人,只要是這個人提到的事情一般是對的,他的角色定位是個計算機牛人,不過是辦公室經常能看到的那種牛人,後面還有更牛的。


對於區間運算的除於零的問題,處理起來也比較簡單,只需要判斷除數是不是爲零,除數爲零就報錯。對於一個區間來講,所謂爲零就是這個區間橫跨0,再直接一點講就是起點是負數,終點是正數。


理解了以後寫代碼就很簡單了:


(define (div-interval x y)
  (if (< (* (upper-bound y) (lower-bound y)) 0)
      (error "Div 0:" y))
  (mul-interval x
		(make-interval (/ 1.0 (upper-bound y))
			       (/ 1.0 (lower-bound y)))))



好,解題結束。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章