Il s'agit d'une variante sur l'exercice du coffre fort. Pour augmenter la sécurité du coffre, on aimerait que le coffre se verrouille si l'utilisateur se trompe plus que nb_restant
fois, où nb_restant
est le nombre de tentatives autorisées.
Le code secret ainsi que le nombre total de tentatives autorisées sont données au début. Voici donc le code à compléter :
let read_int() = Scanf.scanf " %d" (fun x -> x);; let code_secret = read_int() in let nb_tentatives = read_int() in (...définition de coffre_tres_fort avec le paramètre nb_restant...) coffre_tres_fort nb_tentatives;
coffre_tres_fort
prend en paramètre un entier k
.nb_restant
vaut 0, cela veut dire qu'il ne reste plus de tentatives, on affiche "Coffre bloqué !"
.secret
, on affiche "Coffre ouvert !"
."Code non valide !"
, et on recommence avec un nombre de tentatives autorisés diminué de 1. Pour cela, on appelle récursivement coffre_tres_fort (nb_restant - 1)
.De plus, toutes les chaînes affichées doivent être suivies d'un retour à la ligne pour que tout soit bien présenté.