C# faça enquanto

Resumo : neste tutorial, você aprenderá como usar a do whileinstrução C# para executar um bloco de código repetidamente, desde que uma condição seja true.

Introdução à instrução do while em C#

A instrução C# do whileexecuta uma ou mais iterações, desde que uma condição seja true.

O seguinte mostra a sintaxe da do whileinstrução:

do
{
    // statement
} while (expression);Linguagem de código:  JavaScript  ( javascript )

Ao contrário da whileinstrução, a do whileinstrução verifica expressionno final de cada iteração. Portanto, é chamado de loop pós-teste.

A do whileinstrução sempre executará a primeira iteração, independentemente do resultado da expressão. E executará o bloco repetidamente enquanto a expressão for true.

Dentro do loop, você precisa alterar algumas variáveis ​​para fazer a expressão falsede forma que o loop termine após algumas iterações. Caso contrário, você terá um loop indefinido.

O fluxograma a seguir ilustra como a do whileinstrução funciona:

C# faça enquanto

Exemplos de instruções do while em C#

Vejamos alguns exemplos de uso da do whiledeclaração.

1) Exemplo simples de instrução do while em C#

O exemplo a seguir mostra como usar a do whileinstrução para imprimir cinco números de 1 a 5:

int counter = 0;
do
{
    counter++;
    Console.WriteLine(counter);

} while (counter < 5);Linguagem de código:  JavaScript  ( javascript )

Saída:

1
2
3
4
5

Como funciona.

Primeiro, declare a countervariável e inicialize seu valor como 0.

Segundo, aumente em counterum e exiba-o no do whilebloco. Repita esta etapa enquanto the counterfor menor que 5. Como the countercomeça em um, a do whileinstrução é executada exatamente cinco vezes.

2) Usando a instrução do-while para criar um jogo de adivinhação

O seguinte ilustra como usar a do whileafirmação para criar o jogo “Adivinhe o Número”. O programa irá gerar um número aleatório entre 1 e 10.

E você terá no máximo 4 turnos. Se o seu palpite for maior ou menor que um número secreto, você receberá uma dica:

int guess = 0, yourNumber;
string hint;


// Get a random number between 1 and 10
int secretNumber = (new Random()).Next(1, 10);

Console.WriteLine("Pick a number between 1 and 10. You'll have 4 turns.");
do
{
    guess++;

    // Get the user input
    Console.Write($"Turn #{guess}. Your number:");
    yourNumber = Convert.ToInt32(Console.ReadLine());

    // Check the input number with the secret number
    if (yourNumber < secretNumber)
    {
        hint = $"Your guess: {yourNumber}, which is too low.";
    }
    else if (yourNumber > secretNumber)
    {
        hint = $"Your guess: {yourNumber}, which is too high.";
    }
    else
    {
        hint = $"Bingo! It took you {guess} turns to guess the secret number {secretNumber}.";
    }
    Console.WriteLine(hint);

} while (guess < 4 && yourNumber != secretNumber);


if (yourNumber != secretNumber)
{
    Console.WriteLine("Oops! you lost.");
}
Linguagem de código:  JavaScript  ( javascript )

Como funciona.

Primeiro, declare a guessvariável para armazenar o número de tentativas e yourNumbera variável para armazenar o número de entrada:

int guess = 0, yourNumber;

Segundo, obtenha um número inteiro aleatório entre 1 e 10:

int secretNumber = (new Random()).Next(1, 10);Linguagem de código:  JavaScript  ( javascript )

Este código cria uma nova instância da Randomclasse e chama o Next()método para gerar um número aleatório entre 1 e 10. Observe que você aprenderá mais sobre classes e métodos no tutorial posterior.

Terceiro, mostre a mensagem na tela:

Console.WriteLine("Pick a number between 1 and 10. You'll have 4 turns.");Linguagem de código:  JavaScript  ( javascript )

Quarto, use a do whileinstrução para obter o número de entrada do usuário.

O loop continuará se o número de tentativas for menor que 4 e o número de entrada for diferente do número secreto.

Dentro do do whilecircuito:

1) Aumente o valor da guessvariável em um em cada iteração:

guess++;

2) Obtenha o número de entrada:

Console.Write($"Turn #{guess}. Your number:");
yourNumber = Convert.ToInt32(Console.ReadLine());Linguagem de código:  JavaScript  ( javascript )

3) Verifique o número de entrada com o número secreto e dê uma dica se o número de entrada for menor ou maior. Além disso, imprima uma mensagem se o número de entrada for igual ao número secreto:

if (yourNumber < secretNumber)
{
    Console.WriteLine($"Your guess: {yourNumber}, which is too low.");
}
else if (yourNumber > secretNumber)
{
    Console.WriteLine($"Your guess: {yourNumber}, which is too high.");
}
else
{
    Console.WriteLine($"Bingo! It took you {guess} turns to guess the secret number {secretNumber}.");
}Linguagem de código:  JavaScript  ( javascript )

Por fim, imprima uma mensagem se o número de entrada não for igual ao número secreto:

if (yourNumber != secretNumber)
{
    Console.WriteLine("Oops! you lost.");
}Linguagem de código:  JavaScript  ( javascript )

O seguinte mostra um teste:

Pick a number between 1 and 10. You'll have 4 turns.
Turn #1. Your number:5
Your guess: 5, which is too low.
Turn #2. Your number:6
Your guess: 6, which is too low.
Turn #3. Your number:7
Your guess: 7, which is too low.
Turn #4. Your number:8
Bingo! It took you 4 turns to guess the secret number 8.

Resumo

  • Use a do whileinstrução para executar um bloco de código repetidamente, desde que uma condição seja verdadeira.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *