Alyssaと似たような推論をして, 二つの区間の差の計算法を書け. それに対応する sub-intervalという減算手続きを定義せよ.
何も考えずに答えるのでれば、和の計算と同じように、下限-下限と上限-上限っぽい。でも果たしてそれであってるのか? そもそも区間の差ってなんだろう?
あー、なんとなくわかったかも。Alyssaは和の計算のところで
彼女は和の最小値は二つの下限の和であり, 最大値は二つの上限の和であると考えた.
と言っているので、「区間の差とは?」みたいなのうんぬんかんぬんとか抜きにして、区間オブジェクトの car
は最小の値で、 cdr
は最大の値になるようにするには?みたいなのを考えればよいのか。
となると、2つの区間がそれぞれ与えられたときに、それぞれの両端の値を使って、最小の値を叩き出すには、片方の区間の最小値から、もう片方の区間の最大値を引けば良いのかな。cdr
はその逆。
(define (sub-interval x y)
(make-interval (- (lower-bound x) (upper-bound y))
(- (upper-bound x) (lower-bound y))))