Advertisement
Guest User

Untitled

a guest
Oct 25th, 2014
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.80 KB | None | 0 0
  1. (define imprime-na-base
  2. (lambda (num base)
  3. (cond ((< num base) (display num))
  4. (else
  5. (imprime-na-base (quotient num base) base)
  6. (display (remainder num base))))))
  7.  
  8. (define decimal->outra
  9. (lambda (num)
  10. (if (< num 10)
  11. (display num)
  12. (cond ((< num 20)
  13. (case num
  14. ((10)
  15. (display "a"))
  16. ((11)
  17. (display "b"))
  18. ((12)
  19. (display "c"))
  20. ((13)
  21. (display "d"))
  22. ((14)
  23. (display "e"))
  24. ((15)
  25. (display "f"))
  26. ((16)
  27. (display "g"))
  28. ((17)
  29. (display "h"))
  30. ((18)
  31. (display "i"))
  32. ((19)
  33. (display "j"))))
  34. (else
  35. (display "?"))))))
  36.  
  37. (define imprime-ate-base-20
  38. (lambda (num base)
  39. (cond ((< num base) (decimal->outra num))
  40. (else
  41. (imprime-ate-base-20 (quotient num base) base)
  42. (decimal->outra (remainder num base))))))
  43.  
  44. (define interest-rate
  45. (lambda (n)
  46. (case n ((1)
  47. 0.02)
  48. ((2)
  49. 0.024)
  50. ((3)
  51. 0.032)
  52. (else
  53. 0.038))))
  54.  
  55. (define accumulate
  56. (lambda (amount n-years)
  57. (if (or (< amount 0) (<= n-years 0))
  58. (display "invalid parameter(s)")
  59. (accumulate-aux amount n-years 1))))
  60.  
  61. (define accumulate-aux
  62. (lambda (amount n-years year)
  63. (if (not (> year n-years))
  64. (begin
  65. (let ((interest (interest-rate year)))
  66. (accumulate-aux (* amount (+ 1 interest)) n-years (add1 year))))
  67. (/ (round (* amount 100)) 100))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement