Etapas da resolução de problemas
- Analisar o problema: entender o que é dado (entrada), o que se quer (saída) e as regras.
- Criar um algoritmo: escrever a solução em passos claros e ordenados.
- Programar: transformar o algoritmo num programa em uma linguagem como Python.
- Testar: executar com muitas entradas, inclusive casos extremos (0, números negativos, valores muito grandes).
- Depurar: encontrar e corrigir erros; depois testar de novo.
Um algoritmo precisa ter: entrada e saída claras, passos finitos (ele precisa terminar), passos precisos (sem ambiguidade) e dar o resultado correto.
Fluxogramas
Um fluxograma é o desenho de um algoritmo, feito com símbolos padrão ligados por setas.
- Oval (terminal): Início / Fim.
- Paralelogramo: Entrada / Saída.
- Retângulo: Processo (um cálculo ou uma atribuição).
- Losango: Decisão; uma entrada e duas saídas (Sim/Não).
- Seta: direção do fluxo.
Os fluxogramas são fáceis de entender visualmente, mas ficam enormes em problemas grandes.
Pseudocódigo
O pseudocódigo escreve um algoritmo em frases simples, parecidas com a língua do dia a dia, com palavras-chave como INPUT, COMPUTE, PRINT, IF…ELSE, WHILE. Não é uma linguagem de verdade, por isso não se preocupa com a sintaxe exata.
INPUT A, B
IF A > B THEN
PRINT A
ELSE
PRINT BOs algoritmos podem ter sequência (passos um após o outro), seleção (decisões com IF) e repetição (laços).
Decomposição
Decomposição é dividir um problema complexo em problemas menores e mais simples. Cada parte é resolvida (muitas vezes por uma pessoa ou função diferente) e depois todas são combinadas.
Exemplo: um sistema de reserva de trens se decompõe em: buscar trens, verificar lugares, reservar o bilhete, receber o pagamento e imprimir o bilhete.
Vantagens: fica mais fácil de entender, o trabalho pode ser dividido, os erros são mais fáceis de achar e as partes podem ser reutilizadas.
Foco na prova
Espere: desenhar um fluxograma ou escrever pseudocódigo para tarefas simples (maior de dois números, soma dos n primeiros números, par/ímpar, conceito a partir da nota), dar nome aos símbolos, listar as etapas da resolução de problemas e explicar decomposição com um exemplo.
Fórmulas e definições principais
- Resolução de problemas: Analisar → Algoritmo → Código → Teste → Depuração
- Algoritmo = passos finitos, precisos e ordenados, com entrada e saída
- Oval = início/fim; Paralelogramo = entrada/saída; Retângulo = processo; Losango = decisão
- Blocos básicos: sequência, seleção, repetição
Exemplos resolvidos
1. Escreva um algoritmo para calcular a área de um retângulo.
1. Início. 2. Ler o comprimento L e a largura B. 3. Área = L × B. 4. Mostrar a área. 5. Fim.
2. Escreva um pseudocódigo para verificar se um número é par ou ímpar.
INPUT N IF N MOD 2 = 0 THEN PRINT "Par" ELSE PRINT "Ímpar"
3. Descreva um fluxograma que mostre a soma dos números de 1 a 10.
Início → processo: sum = 0, i = 1 → decisão: i <= 10? → Sim: processo sum = sum + i, i = i + 1, seta de volta para a decisão → Não: saída sum → Fim.
4. Decomponha 'organizar o dia de esportes da escola'.
Subproblemas: listar as provas, inscrever os alunos, preparar a quadra e o material, fazer o cronograma, julgar e registrar os resultados, entregar os prêmios. Cada um pode ficar com uma equipe e depois tudo se junta.
5. Siga o fluxograma do maior número com A = 5, B = 12.
Início → entrada A = 5, B = 12 → 5 > 12? Não → mostrar B = 12 → Fim.
6. Escreva um pseudocódigo para mostrar o conceito: nota ≥ 90 → A, ≥ 75 → B, senão C.
INPUT M IF M >= 90 THEN PRINT "A" ELSE IF M >= 75 THEN PRINT "B" ELSE PRINT "C"
Erros comuns
- Usar um retângulo para uma decisão. Decisões usam sempre um losango com saídas Sim/Não.
- Escrever um algoritmo que nunca termina. Um algoritmo precisa ser finito.
- Não testar com entradas incomuns, como 0 ou números negativos.
- Confundir entrada/saída (paralelogramo) com processo (retângulo).