blob: c97743624cdcbaa20e3d43857c4aa36c5b103a88 (
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
|
#lang racket
(require "../../shared/intervals.rkt")
(define (make-center-width c w)
(make-interval (- c w) (+ c w)))
(define (center i)
(/ (+ (lower-bound i) (upper-bound i)) 2))
(define (make-center-percent c p)
(let ((toler (* c (/ p 100.0))))
((lambda (a b)
(if (> a b)
(make-interval b a)
(make-interval a b)))
(- c toler)
(+ c toler))))
(define (percent i)
(abs (* 100 (/ (width i) (center i)))))
(define (print)
(define t (make-center-width 10.0 6.1))
(define tp (make-center-percent -10.0 50.0))
(print-interval t)
(print-interval tp)
(println (percent t))
(println (percent tp)))
(print)
|