;; The first three lines of this file were inserted by DrScheme. They record metadata ;; about the language level of this file in a form that our tools can easily process. #reader(lib "htdp-beginner-reader.ss" "lang")((modname 4.4.3) (read-case-sensitive #t) (teachpacks ((lib "convert.ss" "teachpack" "htdp"))) (htdp-settings #8(#t constructor repeating-decimal #f #t none #f ((lib "convert.ss" "teachpack" "htdp"))))) (define BRACKET2 500) (define BRACKET3 1500) (define BRACKET4 2500) (define BRACKETRATE1 0.0025) (define BRACKETRATE2 0.0050) (define BRACKETRATE3 0.0075) (define BRACKETRATE4 0.0100) ;; pay-back : number -> number ;; Calculates the pay back rate based on the charge on the credit card (define (pay-back charges) (cond [(<= charges BRACKET2) (* BRACKETRATE1 charges)] [(<= charges BRACKET3) (+ (* BRACKETRATE2 (- charges BRACKET2)) (* BRACKETRATE1 BRACKET2))] [(<= charges BRACKET4) (+ (* BRACKETRATE3 (- charges BRACKET3)) (* BRACKETRATE2 (- BRACKET3 BRACKET2)) (* BRACKETRATE1 BRACKET2))] [(> charges BRACKET4) (+ (* BRACKETRATE4 (- charges BRACKET4)) (* BRACKETRATE3 (- BRACKET4 BRACKET3)) (* BRACKETRATE2 (- BRACKET3 BRACKET2)) (* BRACKETRATE1 BRACKET2))]))