DEUG MIAS 24
Types et Structures de données
TME 4
Toujours dans le fichier romain.ml...
Vous avez constaté la difficulté que pose une lecture interactive sans affichage d'un message d'appel !
Modifiez la définition de la fonction safe_read_int de la façon suivante :
(* (safe_read_int s) affiche la chaîne s puis
retourne, sans lever d'exception, un entier lu au clavier,
réitère la demande en cas d'erreur de saisie. *)
let rec safe_read_int s =
try
print_stirng s ;
read_int ()
with
Failure "int_of_string" -> safe_read_int "Redo ? " ;;
Testez en interactif cette nouvelle définition.
Modifier de façon similaire la fonction safe_read_nat de la question 1.4 du TME 3 pour qu'elle admette en paramètre une chaîne correspondant à l'appel de saisie initilal.
Testez cette nouvelle définition.
Reprendre et terminer les questions 1.5 et 1.6 du TME 3.
Envoyez votre fichier romain.ml par le formulaire de soumission de compte-rendu de TP.
Comment créer une référence sur l'entier 5 (expression) ?
Comment nommer r une référence sur l'entier 5 (déclaration globale) ?
Écrire une fonction r_add : int -> unit telle que (r_add n) remplace le contenu de la référence r par la somme de l'ancien contenu de r et de l'entier n.
Comment tester cette fonction ?
Écrire une fonction r_mult : int -> unit telle que (r_mult n) remplace le contenu de la référence r par la somme de l'ancien contenu de r et de l'entier n.
Tester cette fonction.
Spécifiez, programmez et testez quelques fonctions récursives proposées en TD.