Module: Instruction de boucle avec condition - while


Problem

6/21

Chiffres du nombre

Theory Click to read/hide

Essayons d'écrire un programme pour résoudre le problème suivant :

Vous devez saisir un nombre (qu'il soit inférieur à 3 000 000) et déterminer le nombre de chiffres qu'il contient.

Idée de solution


Commençons un compteur de chiffres d'un nombre. Initialement, le compteur est 0. Nous avons juste besoin de couper séquentiellement le dernier chiffre du nombre (cela peut être fait en réduisant le nombre de 10 fois, en utilisant une division entière par 10), et à chaque fois nous devons augmenter le compteur de 1.
En conséquence, après avoir coupé tous les chiffres, dans le compteur, nous obtiendrons le nombre de chiffres dans le nombre.
D'une autre manière, l'algorithme peut être formulé comme suit :
JUSQU'À CE QUE LE NOMBRE NE SOIT PAS ZÉRO, DIMINUEZ-LE 10 fois et AUGMENTEZ LE COMPTEUR DE 1.

nombre (n) compteur
123 0
12 1
1 2
0 3
Le programme ressemblera à ceci. var n, compte : entier ; commencer     lire(n);     compter := 0;     tandis que n <> 0 pour commencer         compter += 1 ;         n := n div 10;     fin;     writeln('Nombre - ', n, ' contient ', compte, ' chiffres'); fin. Vous devez connaître ce programme par cœur, car. sur sa base, de nombreux autres problèmes liés au calcul des nombres par chiffres sont résolus.

Problem

Exécutez le programme. 

Regardez le résultat de son travail.
Est-ce que tout va bien dans la phrase de sortie ?
Réfléchissez à la façon dont vous pouvez résoudre ce problème.