OCaml (option informatique) · Chapitre 7 · Exercice de TD
Compte bancaire
Enregistrements et types mutuellement récursifs · niveau 2
Énoncé
Déclarer compte (mutable solde : int), depose c m, et retire c m qui ne retire que si le solde suffit et renvoie un booléen de succès.
Corrigé
type compte = { mutable solde : int }
let depose c m = c.solde <- c.solde + m
let retire c m =
if m <= c.solde then begin
c.solde <- c.solde - m;
true
end
else false
depose renvoie () ; retire renvoie true après avoir modifié le solde, ou false sans rien changer si le retrait est impossible. Le begin … end groupe la séquence (modification puis valeur true) en une expression.
Exercices semblables
- Milieu de deux points corrigé
- Champ de type liste corrigé
- Mise à jour fonctionnelle corrigé
- Taille d'un arbre général corrigé
- Hauteur d'un arbre général corrigé