Algorithme décimal à binaire
Fermé
Morgalex
Messages postés
3
Date d'inscription
jeudi 16 juillet 2015
Statut
Membre
Dernière intervention
7 septembre 2016
-
7 sept. 2016 à 15:41
quent217 Messages postés 421 Date d'inscription vendredi 25 septembre 2015 Statut Membre Dernière intervention 1 mars 2024 - 10 sept. 2016 à 12:39
quent217 Messages postés 421 Date d'inscription vendredi 25 septembre 2015 Statut Membre Dernière intervention 1 mars 2024 - 10 sept. 2016 à 12:39
A voir également:
- Algorithme décimal à binaire
- Codage binaire - Guide
- Logiciel algorithme gratuit - Télécharger - Édition & Programmation
- Convertir heure en décimal excel ✓ - Forum Excel
- Convertir des heures > à 24h en décimale ✓ - Forum Excel
- Sur excel transformer nombre décimal en h/mn ✓ - Forum Excel
1 réponse
quent217
Messages postés
421
Date d'inscription
vendredi 25 septembre 2015
Statut
Membre
Dernière intervention
1 mars 2024
345
10 sept. 2016 à 12:39
10 sept. 2016 à 12:39
Bonjour,
Tu ne peux pas faire cet algorithme sur ta calculatrice tout simplement car il est impossible de concaténer une variable et une chaine. Tu as donc 2 possibilités pour faire ce que tu veux faire. La première consiste tout simplement à remplacer la chaine par une variable :
Demander un entier N
L ← 0
I ← 0 # I est un compteur pour savoir où ajouter le chiffre suivant
Tant que N>0 faire
q ← quotient de la division de N par 2 (ou q ← Int (N/2))
r ← reste de la division de N par 2 (ou r ← N-2Q)
N ← q
L ← L+r*(10^I)
I ← I+1
Fin tant que
Afficher L
Le seul problème de cet algorithme c'est que si le résultat est trop grand la calculatrice va arrondir le résultat donc tu va perdre toutes les dernières décimales. La deuxième solution permet de régler ce problème et consiste à utiliser une liste :
Demander un entier N
Dim L ← 1 # Création de la liste L
I ← 0
Tant que N>0 faire
q ← quotient de la division de N par 2 (ou q ← Int (N/2))
r ← reste de la division de N par 2 (ou r ← N-2Q)
N ← q
I ← I+1
Dim L ← I # On redimensionne la liste avec I indices
L[I] ← r # On écrit r à l'indice I de la liste L, le premier indice de la liste est 1
Fin tant que
Ensuite il ne reste plus qu'à écrire les chiffres du résultat un par un sans oublier de les écrire à l'envers :
Pour J allant de 1 à I faire
Afficher L[I-J+1] à la colonne J de la ligne 1
Fin pour
En revanche je ne maitrise pas très bien le langage TI donc pour éviter de te donner une mauvaise solution je préfère te rediriger vers ce cours qui apprend très bien à l'utiliser : https://openclassrooms.com/courses/apprenez-a-programmer-en-ti-basic ou alors peut être que quelqu'un meilleur que moi pourra t'aider.
J’espère t'avoir aider
Bonne journée
Tu ne peux pas faire cet algorithme sur ta calculatrice tout simplement car il est impossible de concaténer une variable et une chaine. Tu as donc 2 possibilités pour faire ce que tu veux faire. La première consiste tout simplement à remplacer la chaine par une variable :
Demander un entier N
L ← 0
I ← 0 # I est un compteur pour savoir où ajouter le chiffre suivant
Tant que N>0 faire
q ← quotient de la division de N par 2 (ou q ← Int (N/2))
r ← reste de la division de N par 2 (ou r ← N-2Q)
N ← q
L ← L+r*(10^I)
I ← I+1
Fin tant que
Afficher L
Le seul problème de cet algorithme c'est que si le résultat est trop grand la calculatrice va arrondir le résultat donc tu va perdre toutes les dernières décimales. La deuxième solution permet de régler ce problème et consiste à utiliser une liste :
Demander un entier N
Dim L ← 1 # Création de la liste L
I ← 0
Tant que N>0 faire
q ← quotient de la division de N par 2 (ou q ← Int (N/2))
r ← reste de la division de N par 2 (ou r ← N-2Q)
N ← q
I ← I+1
Dim L ← I # On redimensionne la liste avec I indices
L[I] ← r # On écrit r à l'indice I de la liste L, le premier indice de la liste est 1
Fin tant que
Ensuite il ne reste plus qu'à écrire les chiffres du résultat un par un sans oublier de les écrire à l'envers :
Pour J allant de 1 à I faire
Afficher L[I-J+1] à la colonne J de la ligne 1
Fin pour
En revanche je ne maitrise pas très bien le langage TI donc pour éviter de te donner une mauvaise solution je préfère te rediriger vers ce cours qui apprend très bien à l'utiliser : https://openclassrooms.com/courses/apprenez-a-programmer-en-ti-basic ou alors peut être que quelqu'un meilleur que moi pourra t'aider.
J’espère t'avoir aider
Bonne journée