Parcours
/
Clojure
Clojure
/
Exercices
/
L'intérêt est intéressant
L'intérêt est intéressant

L'intérêt est intéressant

Exercice d'apprentissage

Introduction

Un nombre à virgule flottante est un nombre comportant zéro ou plusieurs chiffres derrière le séparateur décimal. Par exemple -2.4, 0.1, 3.14, 16.984025 et 1024.0.

Les différents types de nombres à virgule flottante peuvent stocker un nombre différent de chiffres après le séparateur. C'est ce qu'on appelle leur précision. Cela signifie que si l'on essaie de stocker PI dans un single, seuls les 6 à 9 premiers chiffres seront conservés (le dernier chiffre étant arrondi).

En Clojure, les nombres à virgule flottante sont lus comme des Double ; avec le suffixe M, ils sont lus comme des BigDecimal.

  • Double : 8 octets (~15-17 chiffres de précision). C'est le type le plus courant. Il s'écrit 2.45.
  • BigDecimal : une valeur entière non mise à l'échelle de précision arbitraire et une échelle entière de 32 bits. Il s'écrit 2.45M.

Instructions

Dans cet exercice, on va travailler avec des comptes d'épargne. Chaque année, le solde de ton compte d'épargne est mis à jour en fonction de son taux d'intérêt. Le taux d'intérêt que ta banque t'accorde dépend du montant d'argent présent sur ton compte (son solde) :

  • -3,213 % pour un solde négatif.
  • 0,5 % pour un solde inférieur à 1000 dollars.
  • 1,621 % pour un solde supérieur ou égal à 1000 dollars et inférieur à 5000 dollars.
  • 2,475 % pour un solde supérieur ou égal à 5000 dollars.

Chaque année, avant que le solde de ton compte d'épargne ne soit mis à jour, le gouvernement te permet de faire un don d'un pourcentage de ton argent à des œuvres caritatives, en franchise d'impôt. Comme tu es une personne sympathique, si ton solde est positif à la fin de l'année, tu fais un don de deux fois ce montant à des œuvres caritatives, arrondi au dollar entier inférieur.

Tu as trois tâches, chacune d'elles portera sur ton solde et son taux d'intérêt.

1. Calcule le taux d'intérêt

Implémente la fonction interest-rate pour calculer le taux d'intérêt en fonction du solde spécifié :

(interest-rate 200.75M)
;;=> 0.5

Note que la valeur renvoyée est un Double.

2. Calcule la mise à jour annuelle du solde

Implémente la fonction annual-balance-update pour calculer la mise à jour annuelle du solde, en tenant compte du taux d'intérêt :

(annual-balance-update 200.75M)
;;=> 201.75375M

Note que la valeur renvoyée est un BigDecimal.

3. Calcule combien d'argent donner

Implémente la fonction amount-to-donate pour calculer combien d'argent donner à des œuvres caritatives en fonction du solde et du pourcentage exonéré d'impôt que le gouvernement autorise :

(def balance 550.5M)
(def tax-free-percentage 2.5)

(amount-to-donate balance tax-free-percentage)
;;=> 27

Note que la valeur renvoyée est un int.

Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Clojure Exercism

Prêt à commencer L'intérêt est intéressant ?

Inscris-toi sur Exercism pour apprendre et maîtriser Clojure avec 12 concepts105 exercices, et un vrai mentorat humain, le tout gratuitement.