#lang racket (require rackunit) ;; OPENING EXERCISE ----------------------------------------------------- (define student-grade (/ 248 285)) ;; (exact->inexact student-grade) (define (letter-grade-for value) 'the-blank) ;; FILL IN THE BLANK ;; examples (check-equal? (letter-grade-for student-grade) 'B) (check-equal? (letter-grade-for 0.95) 'A) (check-equal? (letter-grade-for 0.77) 'C) ;; writing letter-grade-for with a cond expression ;; ;; (define (letter-grade-for value) ;; (cond ((>= value 0.90) 'A) ;; ((>= value 0.80) 'B) ;; ((>= value 0.70) 'C) ;; ((>= value 0.60) 'D) ;; (else 'F)))) ;; Racket also has a case expression that matches exact items ;; ;; (case (random 6) ;; ((0) 'zero) ;; ((1) 'one) ;; ((2 3 4) 'few) ;; (else 'many)) ;; THE END -------------------------------------------------------------- ;; code I can copy and paste into the function above... ;; ;; (if (>= value 0.90) ;; 'A ;; (if (>= value 0.80) ;; 'B ;; (if (>= value 0.70) ;; 'C ;; (if (>= value 0.60) ;; 'D ;; 'F)))) ;; REALLY THE END -------------------------------------------------------