Unidade 3 · Repetição¶
Duas semanas, e a última coisa que falta para o seu programa deixar de ser uma lista de instruções. Até aqui ele sabia seguir em frente (Unidade 1) e escolher um caminho (Unidade 2). Agora ele aprende a voltar atrás e fazer de novo — e é daí que vem quase todo o trabalho que vale a pena mandar um computador fazer.
| Semana | Capítulo | O que entra |
|---|---|---|
| 9 | 7. while: repetir enquanto |
condição que se repete, contador, acumulador, sentinela, laço infinito |
| 10 | 8. for e range: repetir para cada |
range(n), range(inicio, fim), for × while, if dentro do laço, contar e classificar |
Ferramenta: OnlineGDB — ainda um programa, um arquivo, rodado de cima para baixo.
Os padrões que você vai carregar para sempre¶
Um laço quase nunca é inventado do zero. Há meia dúzia de formas que resolvem a maior parte dos problemas, e três delas cabem inteiras nestas duas semanas:
| Padrão | O que faz | O que ele precisa |
|---|---|---|
| acumulador | percorre tudo e junta num número só (soma, total, produto) | uma variável iniciada antes do laço |
| contador | conta quantas voltas atendem a uma condição | uma variável iniciada em zero e um if dentro do laço |
| extremo | guarda um candidato a maior/menor e vai trocando | um candidato inicial honesto |
Os nomes não são invenção desta disciplina: são os mesmos da disciplina do período seguinte, Python para Telecomunicações. Lá você vai aplicá-los sobre listas de medições; aqui você aprende a mecânica deles com números soltos, que é a parte difícil.
O hábito que esta unidade quer instalar
Antes de escrever while ou for, responda três perguntas:
- o que muda a cada volta?
- quando isto tem de parar?
- o que precisa existir antes de o laço começar?
A pergunta 3 é a que todo mundo esquece — e é a que produz o erro central desta unidade: o total que sai errado sem o programa reclamar de nada.