Module: Instrução de loop com condição - while


Problem

6/21

dígitos numéricos

Theory Click to read/hide

Vamos tentar escrever um programa para resolver o seguinte problema:

Você deve inserir um número (que seja menor que 3.000.000) e determinar o número de dígitos nele.

Ideia de solução


Vamos começar um contador de dígitos de um número. Inicialmente, o contador é 0. Precisamos apenas cortar sequencialmente o último dígito do número (isso pode ser feito reduzindo o número em 10 vezes, usando divisão inteira por 10), e a cada vez precisamos aumentar o contador em 1. 
Como resultado, após cortarmos todos os dígitos, no contador obteremos o número de dígitos do número.
De outra forma, o algoritmo pode ser formulado da seguinte forma:
ATÉ O NÚMERO SAIR DE ZERO, DIMINUA 10 vezes e AUMENTE O CONTADOR EM 1.

número (n) contador
123 0
12 1
1 2
0 3
O programa ficará assim. var n, contagem: inteiro; começar     ler(n);     contagem := 0;     enquanto n <> 0 para começar         contagem += 1;         n := n div 10;     fim;     writeln('Número - ', n, ' contém ', contagem, ' dígitos'); fim. Você precisa saber este programa de cor, porque. com base nisso, muitos outros problemas relacionados ao cálculo de números por dígitos são resolvidos.

Problem

Execute o programa. 

Olha o resultado do trabalho dela.
Está tudo bem na frase de saída?
Pense em como você pode corrigir esse problema.