⚡ Cap 06: Laços Indeterminados (while, do-while) & Sentinelas
Especialização em Engenharia de Sistemas com Linguagem C (C17/C23)
🗺️ Slide 1: Os 3 Componentes de Qualquer Laço
graph LR
A["1. Inicialização\n(int i = 1)"] --> B["2. Condição\n(i <= 10)"]
B --> C["3. Atualização\n(i++)"]
style A fill:#0284c7,stroke:#38bdf8,color:#ffffff
style B fill:#d97706,stroke:#f59e0b,color:#ffffff
style C fill:#059669,stroke:#34d399,color:#ffffff
- Variável de Controle: Governa o estado e o ciclo de repetição.
- Risco de Laço Infinito: Ocorre sempre que a atualização da variável for esquecida.
⏳ Slide 2: while vs do...while
| Característica | while (condicao) |
do { ... } while (condicao); |
|---|---|---|
| Momento do Teste | Pré-teste (antes de rodar) | Pós-teste (depois de rodar) |
| Mínimo de Execuções | 0 vezes (pode nem iniciar) | 1 vez garantida |
| Casos Típicos | Validação, busca, leitura com sentinela | Menus interativos, confirmações |
📊 Slide 3: Padrões de Algoritmos em Laços
- Padrão Contador: Incrementa de 1 em 1 para contar ocorrências (
totalAlunos++). - Padrão Acumulador: Soma grandezas variáveis (
somaNotas += nota). Deve ser inicializado com0.0. - Valor Sentinela: Valor especial de controle usado para interromper o laço (ex: digitar
0para sair).
🛡️ Slide 4: Validação Segura de Entrada de Dados
double taxa;
do {
printf("Digite a taxa (0.0 a 1.0): ");
scanf("%lf", &taxa);
} while (taxa < 0.0 || taxa > 1.0);
- Rejeita valores fora dos parâmetros operacionais aceitáveis antes de prosseguir o fluxo.
📋 Resumo da Aula & Próximos Passos
- Revise os códigos de exemplo deste capítulo.
- Teste seus conhecimentos no Quiz Formativo.
- Pratique os exercícios em 4 níveis de complexidade.
🧭 Navegação Rápida
| 📖 Teoria | 📊 Slides | 🧠 Quiz | 💻 Exemplos | 🧩 Exercícios | | :— | :— | :— | :— | :— | | Ler Teoria | Ver Slides | Fazer Quiz | Ver Exemplos | Praticar Exercícios |
Slide 1 de 1
Atalhos: ← → Navegar • Espaço Avançar • F Tela Cheia • Home Início • End Fim