cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 2013
-
5 mai 2003 à 09:12
TheChikenKiller
Messages postés60Date d'inscriptionlundi 24 mars 2003StatutMembreDernière intervention11 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.
TheChikenKiller
Messages postés60Date d'inscriptionlundi 24 mars 2003StatutMembreDernière intervention11 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és1Date d'inscriptionmardi 11 février 2003StatutMembreDerniè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és4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 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.
7 mai 2003 à 22:04
6/10 , je suis gentil
@+
@rt31
6 mai 2003 à 21:34
5 mai 2003 à 09:12
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.