Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (define imprime-na-base
- (lambda (num base)
- (cond ((< num base) (display num))
- (else
- (imprime-na-base (quotient num base) base)
- (display (remainder num base))))))
- (define decimal->outra
- (lambda (num)
- (if (< num 10)
- (display num)
- (cond ((< num 20)
- (case num
- ((10)
- (display "a"))
- ((11)
- (display "b"))
- ((12)
- (display "c"))
- ((13)
- (display "d"))
- ((14)
- (display "e"))
- ((15)
- (display "f"))
- ((16)
- (display "g"))
- ((17)
- (display "h"))
- ((18)
- (display "i"))
- ((19)
- (display "j"))))
- (else
- (display "?"))))))
- (define imprime-ate-base-20
- (lambda (num base)
- (cond ((< num base) (decimal->outra num))
- (else
- (imprime-ate-base-20 (quotient num base) base)
- (decimal->outra (remainder num base))))))
- (define interest-rate
- (lambda (n)
- (case n ((1)
- 0.02)
- ((2)
- 0.024)
- ((3)
- 0.032)
- (else
- 0.038))))
- (define accumulate
- (lambda (amount n-years)
- (if (or (< amount 0) (<= n-years 0))
- (display "invalid parameter(s)")
- (accumulate-aux amount n-years 1))))
- (define accumulate-aux
- (lambda (amount n-years year)
- (if (not (> year n-years))
- (begin
- (let ((interest (interest-rate year)))
- (accumulate-aux (* amount (+ 1 interest)) n-years (add1 year))))
- (/ (round (* amount 100)) 100))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement