blob: 05258024e503ad17c957c3d443df0f17f4b2245c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#lang racket
(provide
width)
(require
"7.rkt"
"8.rkt"
"9.rkt")
(define (width x)
(/ (- (upper-bound x) (lower-bound x)) 2))
(define (print-sum)
(newline)
(println "*** (width SUM) == (SUM width) ***")
(define a (make-interval 1 8))
(define b (make-interval 3 8))
(define c (add-interval a b))
(define d (sub-interval a b))
(define add-width (lambda (x y) (+ (width x) (width y))))
(print-interval a) (newline) (println (width a))
(print-interval c) (newline) (println (width c))
(println (add-width a b))
(print-interval d) (newline) (println (width d))
(println (add-width a b)))
(print-sum)
(define (print-mul)
(newline) (println " http://community.schemewiki.org/?sicp-ex-2.9 ")
(newline) (println " *** Multiplication: two pairs of different intervals with same width *** ")
(newline) (println " Can also be check algebraicly")
(define a (make-interval 1 8))
(define b (make-interval 3 8))
(define c (make-interval 0 7))
(define d (make-interval 0 5))
(println (width (mul-interval a b)))
(newline)
(println (width (mul-interval c d))))
(print-mul)
|