Guest User

Untitled

a guest
Jan 14th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scheme 0.98 KB | None | 0 0
  1. ;; root : Number Number -> Number
  2. ; generalized form of sqrt* function; finds the root of given number
  3. ;(check-expect (root 9 2) 3) approximatelly
  4. ;(check-expect (root 0 123) 0) approximatelly
  5. ;(check-expect (root -1 2) 0+1i) approximatelly
  6. ;(check-expect (root -4 2) 0+2i) approximatelly
  7. (define (root n m)
  8.   (root-iter 1.0 n m))
  9.  
  10. ; root-iter: Number Number Number _> number
  11. ; consumes guess, x, y where resulting value is equal to x^1/y
  12. ; cannot provide examples
  13. (define (root-iter guess n m)
  14.   (if (root-good-enough? guess n m)
  15.       guess
  16.       (root-iter (root-improve guess n m) n m)))
  17.  
  18. ;root-good-enough?: number number number -> number
  19. ;checks whether given guess is near the given x by 0.001 much
  20. (define (root-good-enough? guess n m)
  21.    (< (abs (- n (expt guess m))) 0.001))
  22.  
  23. ;root-improve: number number -> number
  24. (define (root-improve guess n m)
  25.   (/ (+ guess (/ n (expt guess (- m 1)))) 2))
  26.  
  27.  
  28. (define (getridoffraction x) (/ 1000000000 (round (* 1000000000 x))))
Add Comment
Please, Sign In to add comment