Blame


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