CHIFFRES ROMAINS EN RÉCURSIF ET DRAG 'N DROP

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 - 5 mai 2003 à 09:12
TheChikenKiller Messages postés 60 Date d'inscription lundi 24 mars 2003 Statut Membre Dernière intervention 11 février 2007 - 7 mai 2003 à 22:04
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/12517-chiffres-romains-en-recursif-et-drag-n-drop

TheChikenKiller Messages postés 60 Date d'inscription lundi 24 mars 2003 Statut Membre Dernière intervention 11 février 2007
7 mai 2003 à 22:04
Je dirait que c'est un bon source qui comporte des bugs comme a pu le signaler delphiprog.
6/10 , je suis gentil
@+
@rt31
cs_jaunty Messages postés 1 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 6 mai 2003
6 mai 2003 à 21:34
Commenter, c'est bien. Réfléchir avant, c'est mieux. Un peu de réflexion aurait permis de se rendre compte que le IF suivi du CASE constituait le coeur de l'algorithme...
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
5 mai 2003 à 09:12
J'ai quelques remarques ou suggestions à formuler...
Que se passe-t-il si on transmet une chaine vide à la fonction fromain ?
Réponse : Le résultat est indéfini...

"val(n[1],ch,err)" : que fait-on du code d'erreur Err ?
Réponse : il est ignoré !

"if ch in [5..8]" et plus plus loin, tu utilises une structure Case pour les autres chiffres. C'est à dire que Ch sera évalué plusieurs fois alors qu'une seule structure Case rendait le code plus simple et plus efficace.

La constante Rom mériterait d'être déclarée au niveau de la fonction fromain car elle n'a pas à être connue de l'extérieur.

Enfin, dans toute fonction, il est de bon ton d'initaliser le résultat dès le départ pour éviter des résultats erratiques en cas de sortie brutale. Ce conseil vaut doublement quand on fait appel à la récursivité pour traiter un problème.

Pour terminer sur une note positive, c'est là une bonne idée que tu as eue de proposer une conversion en chiffres romains. Puisque c'est ton premier source publié sur ce site, je t'encourage à poursuivre.