Adloun

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

Le cours du chapitre · Tous les exercices du chapitre