Algorithme Convertir nombre Entier en nombre Romain

Signaler
-
Messages postés
3813
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
12 juin 2020
-
Boujour,

Je suis en année préparatoire d'informatique et j'ai besoin d'assistance pour résoudre un problème algorithmique. (je n'ai aucune base de programmation)

Pour convertir 16 ( nombre entier ) en XVI ( Chiffre romain ).

Je pensais faire 2 tableaux tout d'abord

Un tableau T 1 :
X
V
I

Et un tableau T2:
10
5
1

Ensuite pour l'algorithme j'ai commencé comme sa :

Début
n : entier positif
n= 16
n div 10 = d // d: nombre de dizaine
u= n(d*10) // u: unités

Et après je suis bloqué pouvez m'aider svp ?
Car je ne vois pas comment dire tout d'abord que 10 c'est X
Et je vois pas comment continuer cet algorithme

Merci à vous

2 réponses

un petit up :'(

Je commence seulement à faire un langage algorithmique simple avec des mot en français.

je voudrai juste exemple écrit pour que je puisse assimiler cette logique.

Merci
Messages postés
3813
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
12 juin 2020
107
Bonjour.

Tout d'abord, merci de ne pas faire de "up". D'une part, ici ça ne remonte pas le sujet, d'autre part c'est très mal vu, et tu risques de tout simplement te faire clore le sujet.
"comme sa" => "comme ça" (Comment peut-on confondre "sa" et "ça" ?)

Pour gérer la conversion Nombre -> Romain, pas besoin de tableau.
Tu n'as besoin que de: % (modulo), / (division), + (addition), des si (if) et condition tant que (while). (Après tu affiches directement ce que tu trouves, c'est bien plus simple).

Pour la méthode, en voici une facile (pas forcément la plus élégante): tu commences par les unités "Romaines" les plus grandes. Tu essaies de voir pour chaque signe romain, combien de fois tu peux caser un D, puis un L, puis un X. Une fois que tu es en dessous de X, il ne te reste qu'a associer chaque chiffre de 0 à 9 à un affichage particulier.

Quand on code, on ne fait jamais "un gros paté", c'est-à-dire que l'on code jamais tout d'un coup sans vérifier, et après on prie pour que ça fonctionne. On code petit à petit, morceau par morceau.

Typiquement, ici, tu devrais commencer par écrire une fonction qui prend un entier compris entre 0 et 9, et affiche à l'écran la conversion romaine (très simple). Une fois cette fonction faite, tu pourras la réutiliser dans ton algorithme. Mais cette fonction doit être créée et testée avant.

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question