Pular para conteúdo

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:

  1. o que muda a cada volta?
  2. quando isto tem de parar?
  3. 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.