Masar
Masar
Bac Tunisie
Entraîner la reconnaissance
RA-EAlgorithmes récurrents et arithmétiques

Comptage des chiffres d'un entier (trace + rôle + conversion)

Idée directrice

Forme calquée sur l'exercice 2 de 2019 : séquence Tant que (x Div 10 ≠ 0), trace pour trois valeurs, rôle (nombre de chiffres en base décimale), puis séquence équivalente par conversion Convch + Long. C'est l'exercice court arithmétique attesté ; pas un problème modulaire.

Signature de reconnaissance — l'énoncé se trahit ainsi

« Compléter le tableau nb pour x ∈ {5403, 176, 3} » ; « Donner le rôle (nombre de chiffres) » ; « séquence équivalente sans structure itérative (Convch + Long) »

Sujet principal

Exercice — nombre de chiffres d'un entier

3 questionsCorrigé masqué

Soit x un entier naturel écrit en base décimale. On exécute la séquence algorithmique suivante :

nb ← 1
Tant que (x Div 10 ≠ 0) faire
   nb ← nb + 1
   x ← x Div 10
Fin tant que

  1. Pour chacune des valeurs de x parmi 5403, 176 et 3, indiquer la valeur finale de nb après exécution de la séquence (en repartant à chaque fois de la valeur initiale de x).
  2. Donner le rôle de cette séquence.
  3. Écrire une séquence algorithmique équivalente sans boucle, en utilisant la conversion de l'entier décimal en chaîne de caractères (Convch) puis Long.
Voir la correction commentéeAprès avoir posé votre démarche

1. Valeurs finales de nb

xnb
54034
1763
31

Trace sommaire pour x = 5403 : nb=1 puis divisions successives 5403 → 540 → 54 → 5 ; à chaque quotient non nul on incrémente nb, d'où nb = 4. Pour x = 3, 3 Div 10 = 0 dès le test : la boucle ne s'exécute pas, nb reste 1.

2. Rôle. Cette séquence permet de déterminer le nombre de chiffres d'un entier x donné (écriture en base décimale).

3. Séquence équivalente sans boucle

Convch(x, xch)
nb ← Long(xch)

On convertit l'entier en chaîne, puis on prend la longueur de cette chaîne : c'est le nombre de chiffres. Toute solution correcte fondée sur la même idée de conversion est acceptable.

Méthode / Automatismes
  • Relancer la séquence à part pour chaque valeur de x (ne pas enchaîner les trois sur la même variable).
  • Le cas x < 10 fixe nb = 1 sans entrer dans la boucle.
  • Équivalent non itératif officiel 2019 : Convch puis Long.
Pièges classiques

Compter une itération de trop pour les puissances de 10 ; écrire x MOD 10 au lieu de x Div 10 ; oublier que pour x = 3 on a nb = 1.