Aula 04 - Estruturas de Controle 🚦
O que são Estruturas de Controle?
- Determinam o fluxo de execução do programa.
- Permitem tomar decisões e repetir tarefas.
Estrutura Condicional: if
if (condicao) {
// Executa se verdadeiro
}
Condicional: if-else
if (idade >= 18) {
cout << "Maior de idade";
} else {
cout << "Menor de idade";
}
Condicional: else-if (Múltiplas Escolhas)
if (nota >= 9) { ... }
else if (nota >= 7) { ... }
else { ... }
O Comando switch
- Ideal para testar uma única variável contra vários valores constantes.
switch (opcao) {
case 1: cout << "Opção 1"; break;
case 2: cout << "Opção 2"; break;
default: cout << "Invalido";
}
Importância do break no switch
- Sem o
break, a execução "escorrega" para os próximos cases (fall-through).
Laço de Repetição: while
- Executa enquanto a condição for verdadeira.
while (condicao) {
// Código
}
Laço de Repetição: do-while
- Garante que o código seja executado pelo menos uma vez.
do {
// Executa primeiro, testa depois
} while (condicao);
Laço de Repetição: for
- Ideal quando sabemos o número de iterações.
for (inicialização; condição; incremento) {
// Código
}
Loop Infinito
- Acontece quando a condição de parada nunca é atingida.
while(true) { ... }
Comando break
- Interrompe o loop imediatamente e sai dele.
Comando continue
- Pula o restante do código da iteração atual e vai para a próxima volta do loop.
Loops Aninhados
- Um loop dentro do outro.
- Comum para matrizes e tabelas.
for(int i=0; i<3; i++) {
for(int j=0; j<3; j++) { ... }
}
O Problema do "Código Espaguete"
- Evite muitos aninhamentos profundos.
- Prefira simplificar a lógica ou usar funções.
Escopo de Variáveis em Loops
- Variáveis declaradas dentro do
for ou while morrem ao fim dele.
Fluxogramas e Lógica
graph TD
A[Início] --> B{Nota >= 7?}
B -- Sim --> C[Aprovado]
B -- Não --> D[Reprovado]
C --> E[Fim]
D --> E
Tabela de Decisão
- Útil para planejar lógicas complexas com múltiplas variáveis.
- Use
switch e do-while para criar menus que só fecham quando o usuário pede.
Prática: Validação de Entrada
- Use
while para forçar o usuário a digitar um valor válido.
Resumo da Aula
if para decisões.
for para contagens conhecidas.
while para condições incertas.
switch para menus.
Curiosidade: Jump Statements
goto existe no C++, mas é considerado má prática em 99% dos casos.
Fim da Aula 04