Blob


1 ;; The first three lines of this file were inserted by DrScheme. They record metadata
2 ;; about the language level of this file in a form that our tools can easily process.
3 #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")))))
4 (define BRACKET2 500)
5 (define BRACKET3 1500)
6 (define BRACKET4 2500)
7 (define BRACKETRATE1 0.0025)
8 (define BRACKETRATE2 0.0050)
9 (define BRACKETRATE3 0.0075)
10 (define BRACKETRATE4 0.0100)
12 ;; pay-back : number -> number
13 ;; Calculates the pay back rate based on the charge on the credit card
15 (define (pay-back charges)
16 (cond
17 [(<= charges BRACKET2) (* BRACKETRATE1 charges)]
18 [(<= charges BRACKET3) (+
19 (* BRACKETRATE2 (- charges BRACKET2))
20 (* BRACKETRATE1 BRACKET2))]
21 [(<= charges BRACKET4) (+
22 (* BRACKETRATE3 (- charges BRACKET3))
23 (* BRACKETRATE2 (- BRACKET3 BRACKET2))
24 (* BRACKETRATE1 BRACKET2))]
25 [(> charges BRACKET4) (+
26 (* BRACKETRATE4 (- charges BRACKET4))
27 (* BRACKETRATE3 (- BRACKET4 BRACKET3))
28 (* BRACKETRATE2 (- BRACKET3 BRACKET2))
29 (* BRACKETRATE1 BRACKET2))]))