Todos os posts

Estrutura de Controle, Decisão e Repetição

18/04/2026 20 views

"Como aluno, eu entendi que variáveis guardam valores, mas agora quero saber: como meu programa decide o que fazer se o valor mudar?"

Dando Inteligência
ao seu Código

1. Tomada de Decisão: If / Else

if é a porta de entrada da lógica. Ele avalia uma expressão booleana: se for true, ele entra; se for false, ele pula para o else.

O que o aluno aprende:

O programa não lê todas as linhas. Ele escolhe um bloco e descarta o outro. Isso economiza processamento e define o comportamento do software.

2. Seleção Múltipla: Switch

Quando você tem uma única variável e quer comparar com muitos valores possíveis, o switch é muito mais elegante e rápido que vários if/else.

int opcao = 2;

switch (opcao) 
{
    case 1:
        Console.WriteLine("Abrindo Perfil...");
        break;
    case 2:
        Console.WriteLine("Abrindo Configurações...");
        break;
    default:
        Console.WriteLine("Opção Inválida.");
        break;
}

Por que o 'break'? No C#, o break diz ao programa: "Pare! Já achei o que queria, não precisa testar os outros casos". Sem ele, o código poderia continuar executando os próximos casos indevidamente.

3. Laços Contados: For & Foreach

for é usado quando você sabe exatamente quantas vezes quer repetir algo. Já o foreach é o mestre das listas.

1. Início (i=0) | 2. Condição (i < 5) | 3. Incremento (i++)

O Laço 'For' Clássico

for (int i = 0; i < 5; i++) 
{
    Console.WriteLine("Contagem: " + i);
}

O Elegante 'Foreach'

string[] nomes = { "Ana", "Bia" };

foreach (var n in nomes) 
{
    Console.WriteLine("Olá, " + n);
}
 Perfeito para percorrer coleções de dados sem se preocupar com índices.

4. Laços Condicionais: While

O while repete enquanto uma condição for verdadeira. Ele é ideal para situações onde o fim depende de uma ação externa (ex: entrada do usuário).

While (Teste no Início)

while (energia > 0) 
{
    Trabalhar();
    energia--;
}

 Do-While (Teste no Fim)

do 
{
    TentarNovamente();
} while (falhou);

Garante que o código rode ao menos uma vez.

5. Lab Final: Sistema de Login e Repetição

Vamos juntar tudo! Simularemos um sistema que tenta logar um usuário 3 vezes antes de bloquear.

Program.cs - Desafio Completo

int tentativas = 3;
bool logado = false;

while (tentativas > 0 && !logado) 
{
    Console.WriteLine("Tentativa " + (4 - tentativas));
    if (senhaCorreta) {
        logado = true;
        Console.WriteLine("Sucesso!");
    } else {
        tentativas--;
        Console.WriteLine("Erro. Restam " + tentativas);
    }
}

if (!logado) Console.WriteLine("Bloqueado.");

RESULTADO ESPERADO

> dotnet run
Tentativa 1
Erro. Restam 2
Tentativa 2
Erro. Restam 1
Tentativa 3
Erro. Restam 0

Bloqueado.

 

Publicidade

Comentários (0)

Nenhum comentário ainda. Seja o primeiro!

Faça login para comentar. Sem conta? Criar agora.