Capítulo 19: Lógica de Resolução de Problemas
🎯 Objetivo da Aula
Programar não é sobre conhecer comandos, mas sobre como usar esses comandos para resolver um problema. Nesta aula, faremos uma revisão estratégica. O objetivo é aprender as 4 etapas do pensamento computacional: Decomposição, Reconhecimento de Padrões, Abstração e Algoritmos.
🏢 O Cenário Prático (Seu Desafio)
Situação: A FastLog quer um sistema que gerencie uma fila de 10 pacotes. Para cada pacote, o sistema deve:
- Validar se o peso é maior que zero.
- Calcular o frete (R$ 5,00 por quilo).
- Somar tudo no final.
- Avisar se algum pacote ultrapassa o limite de 50kg.
O Problema: Como organizar tantas regras sem se perder?
🧠 Fundamentos: A Teoria Traduzida
1. Decomposição
Nunca tente resolver o problema inteiro de uma vez. Quebre-o em partes menores.
✈️ Exemplo 1: Cotidiano (Viagem de Férias)
Para viajar, você precisa: 1. Comprar passagens, 2. Reservar hotel, 3. Arrumar as malas. São tarefas menores que formam o “Problema” da viagem.
🚚 Exemplo 2: Técnico (Auditoria de Embarque)
Para liberar um lote, você precisa: 1. Conferir pesos, 2. Validar NFs, 3. Registrar motorista.
graph TD
A[Problema: Auditoria de Carga] --> B[Tarefa 1: Validar Pesos]
A --> C[Tarefa 2: Checar Notas Fiscais]
A --> D[Tarefa 3: Gerar Relatório]
B --> E[Conclusão do Lote]
C --> E
D --> E
style B fill:#f39c12,stroke:#fff,color:#fff
style E fill:#2ecc71,stroke:#fff,color:#fff📖 Exemplo Guiado: Auditoria de Cargas
A decomposição consiste em quebrar um problema grande em tarefas menores. Observe como validamos o limite dentro de um loop de processamento:
🛠️ Prática Obrigatória 1: Análise de Dados
Crie um programa que leia 10 números em um vetor. Calcule a média desses números e, em seguida, use outro loop para contar e exibir quantos números são maiores que a média.
✅ Resultado Esperado
🛠️ Prática Obrigatória 2: Simulador de Taxas FastLog
Crie uma variável global taxa_adm = 15.0. Crie uma função que use essa global para calcular o custo total de um frete, somando a taxa ao valor recebido como parâmetro.
✅ Resultado Esperado
🔥 Desafio de Fixação (Opcional): Validador de CPF Simplificado
Crie um programa que peça o CPF do usuário (tipo cadeia). O programa deve validar apenas se o texto digitado possui exatamente 11 caracteres.
📤 Instruções de Entrega (Microsoft Teams)
Após validar seus códigos:
- Pense na estrutura (vetores, loops, funções) antes de começar a digitar.
- Salve os arquivos com a extensão
.por(Ex:Atividade_19_SeuNome.por). - Envie no Microsoft Teams na tarefa “Capítulo 19 - Estratégia de Resolução”.