Bonjour, je suis en terminal S et je viens de commencer a créer des algorithmes mais je bloque sur la conversion de l'hexadécimal vers le décimal, je débute vraiment donc je n'arrive pas a résoudre le problème seul.
Un premier algorithme nous a été donner pour comprendre le principe ( binaire vers hexadécimal):
A partir de celui ci je dois créer un algorithme qui convertit l'hexadécimal vers le décimal:Code:VARIABLES Compteur EST_DU_TYPE NOMBRE Valeur1 EST_DU_TYPE CHAINE Longueur EST_DU_TYPE NOMBRE Decimale EST_DU_TYPE NOMBRE Puissance EST_DU_TYPE NOMBRE DEBUT_ALGORITHME AFFICHER "Saisir un nombre en écriture binaire" LIRE Valeur1 Longueur PREND_LA_VALEUR Valeur1.length POUR Compteur ALLANT_DE 0 A Longueur-1 DEBUT_POUR Puissance PREND_LA_VALEUR Longueur-Compteur-1 Decimale PREND_LA_VALEUR Decimale+Valeur1.substr(Compteur,1)*pow(2,Puissance) FIN_POUR AFFICHER Decimale FIN_ALGORITHME
La ligne en orange donne une erreur de calcul et je n'arrive pas a la résoudre,Code:VARIABLES Compteur EST_DU_TYPE NOMBRE Valeur1 EST_DU_TYPE CHAINE Longueur EST_DU_TYPE NOMBRE Decimale EST_DU_TYPE NOMBRE Puissance EST_DU_TYPE NOMBRE A EST_DU_TYPE NOMBRE B EST_DU_TYPE NOMBRE C EST_DU_TYPE NOMBRE D EST_DU_TYPE NOMBRE E EST_DU_TYPE NOMBRE F EST_DU_TYPE NOMBRE DEBUT_ALGORITHME AFFICHER "Saisir un nombre en écriture hexadécimale" LIRE Valeur1 A PREND_LA_VALEUR 10 B PREND_LA_VALEUR 11 C PREND_LA_VALEUR 12 D PREND_LA_VALEUR 13 E PREND_LA_VALEUR 14 F PREND_LA_VALEUR 15 Longueur PREND_LA_VALEUR Valeur1.length POUR Compteur ALLANT_DE 0 A Longueur-1 DEBUT_POUR FIN_SI Puissance PREND_LA_VALEUR Longueur-Compteur-1 Decimale PREND_LA_VALEUR Decimale+Valeur1.substr(Compteur,1)*pow(16,Puissance) FIN_POUR AFFICHER Decimale FIN_ALGORITHME
Merci de votre aide.
-----