Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

My first scheme program

Name: Anonymous 2012-01-17 16:31

Wrote this while bored and waiting for my functional programming class... is it... okay?


(define quad
  (lambda (a b c)
    (define root (- (* b b) (* 4 a c)))
    (if (> root 0)
      (list
        (/ (+ (- b) (sqrt root)) (* 2 a))
        (/ (- (- b) (sqrt root)) (* 2 a)))
      '()
    )))

Name: Anonymous 2012-01-17 16:55

>>3
(define (solve +/- b delta a)
  (/ (+/- (- b) (sqrt delta)) (* 2 a)))
(define (solve-complex +/- b delta a)
  (+/- (/ (- b) (* 2 a))
       (* +i (/ (sqrt (- delta))
                (* 2 a)))))

(define (quad a b c)
  (let ((delta (- (sqr b) (* 4 a c)))
        (solve (if (> delta 0) solve solve-complex)))
    (if (zero? delta) (- (/ b (* 2 a)))
        (values (solve + b delta a)
                (solve - b delta a)))))

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List