[ create a new paste ] login | about

Link: http://codepad.org/frLTNeu8    [ raw code | output | fork ]

programmingpraxis - Scheme, pasted on Aug 30:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
; bmi calculator

(define bmi
  (case-lambda
    ((feet inches pounds)
      (let ((height (+ (* feet 12) inches)))
        (* (/ pounds (* height height)) 703.0)))
    ((centimeters kilograms)
      (let ((meters (/ centimeters 100.0)))
        (/ kilograms (* meters meters))))))

(define (bmi-class bmi)
  (cond ((<= bmi 18.5) "underweight")
        ((< bmi 25) "normal")
        ((< bmi 30) "overweight")
        ((< bmi 40) "obese")
        (else "morbidly obese")))

(display (bmi 5 4 125)) (display " ") (display (bmi-class (bmi 5 4 125))) (newline)
(display (bmi 190 95)) (display " ") (display (bmi-class (bmi 190 95))) (newline)


Output:
1
2
21.453857421875 normal
26.315789473684212 overweight


Create a new paste based on this one


Comments: