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


Um loop com uma condição. Instrução while
Estudando o loop for, dissemos que se o número de repetições de qualquer ação for conhecido, você pode encurtar o programa usando o operador de loop for. Mas e se o número de repetições for desconhecido? E isso acontece com bastante frequência.
 
Exemplo
Lembrando da tradução de um número de um sistema de numeração decimal para qualquer outro, precisamos dividir o número (e depois o resultado da divisão) pela base do sistema de numeração até obtermos zero na resposta. Quantas vezes vamos compartilhar é desconhecido. E existem muitos programas que implementam esse algoritmo. 

Como podemos implementar o algoritmo se não sabemos o número exato de iterações?

Para tais casos na programação, há uma instrução de loop com uma condição. 
Na linguagem de programação Python, uma instrução de loop condicional começa com a palavra while e tem a seguinte estrutura.
while (<condition>) 
{
  corpo do laço
}

Como já sabemos:
- condição é uma expressão que pode ser avaliada como verdadeira ou falsa (como em uma declaração condicional);
- loop body são comandos para serem repetidos, são recuados.

Como funciona o operador?
1. Primeiro, o programa avalia a condição entre colchetes após a palavra while. Se a condição for atendida (true), então o programa executa a(s) instrução(ões) contida(s) no corpo do loop.
2. Após a conclusão da execução do corpo do loop, o programa retorna para verificar a condição e verifica novamente.
3. Essas ações (verificar a condição - executar o corpo do loop) são repetidas até que a condição se torne falsa.
4. Se a condição não for atendida imediatamente (falso) durante a primeira execução desta instrução, o programa nunca executará o corpo do loop.

Analisando o trabalho desse operador, deve ficar claro que o corpo do loop deve conter um operador que afete a condição.
Por exemplo, em um loop, o valor de uma variável usada em uma condição pode ser incrementado.

Um exemplo de programa que chamaremos de "Contagem silenciosa".
Vamos fazer o programa contar em vez de nós, por exemplo, até 10.
O programa deve gerar as frases "Iniciar" e "Concluir", e entre essas ações exibir os números que estão sendo calculados.

Por exemplo, assim:
Iniciar
1 2 3 4 5 6 7 8 9 10
Concluir

Um programa usando um loop while ficaria assim: usando Sistema; programa de classe {     static void Main() {         Console.WriteLine("Iniciar");         int i = 1;         enquanto (i <= 10) {             Console.WriteLine(i);             i++;         }         Console.WriteLine("Concluir");     } } Neste programa, atribuímos um valor à variável i = 1 - o ponto de partida.
Além disso, desde que o valor da variável i não seja maior (ou seja, menor ou igual a) o valor que precisamos, nós:
 1) exibe o valor da variável i;
 2) aumentar o valor da variável i  em 1 - este operador afeta o valor da condição entre colchetes. A variável i  é incrementada, significando que em algum momento a condição i <= 10 se tornará falsa. Isso acontecerá quando i é igual a 11. Nesse caso, o corpo do loop não será mais executado e o programa executará a próxima instrução após o loop, ou seja,  Console.WriteLine("Finish").

Vamos tentar escrever um programa para resolver o seguinte problema: você precisa inserir um número e determine o número de dígitos nele.

Idéia de solução.
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. 
Como resultado, após cortarmos todos os números, o contador armazenará o número de dígitos do número.
De outra forma, o algoritmo pode ser formulado da seguinte forma: enquanto o número não for igual a zero, diminua-o em 10 vezes e aumente o contador em 1.
número (n) contador
123 0
12 1
1 2
0 3
O programa ficará assim: ... static void Main() { int n = Convert.ToInt32(Console.ReadLine()); contagem int = 0; enquanto (n != 0) { contar++; n = n/10; } } Você precisa conhecer e entender bem este programa, pois muitas outras tarefas relacionadas ao cálculo por dígitos de um número.

Tarefa

A entrada do programa é o fluxo de dados — uma sequência de inteiros que termina em zero (o zero não está incluído na sequência). Você precisa encontrar a soma dos elementos dessa sequência.
 
Algoritmo de resolução
soma=0 input x // insira o primeiro numero while x != 0 // o sinal final de entrada é definido na condição,  nc // isto é, até você digitar zero    sum = sum + x // você pode fazer algo com o número original. // Você pode adicionar uma verificação numérica para alguma condição, etc.    input x // insira o próximo número kts imprime soma //saída do resultado