Executar, observar, alterar, repetir

Adotar um ciclo de experimentação que reduz erros e acelera a aprendizagem.

Executar, observar, alterar, repetir

Objetivo da aula

Adotar um ciclo de experimentação que reduz erros e acelera a aprendizagem.

Regra desta aula: vamos assumir que você nunca viu este assunto antes. Nenhum termo importante será usado sem explicação e todo exemplo deve ser entendido linha por linha, não apenas copiado.

Começando do zero

Aprender programação fica muito mais fácil quando você trabalha em passos pequenos. Em vez de escrever cinquenta linhas e torcer para funcionar, faça uma alteração pequena, preveja o que deveria acontecer, execute, observe e compare. Isso transforma programação em investigação, não em tentativa aleatória.

Uma imagem mental para entender

Imagine montar um circuito de peças. Se você troca dez peças ao mesmo tempo e ele para de funcionar, não sabe qual mudança causou o problema. Se muda uma peça e testa, a relação entre causa e efeito fica muito mais clara. Código funciona do mesmo jeito.

Conceitos essenciais, sem pular etapas

Hipótese

Antes de executar, diga o que você espera. Exemplo: “se eu trocar valor de 12 para 20, o dobro deve virar 40”. Isso cria um resultado previsto para comparar.

Mudança pequena

Altere uma coisa por vez sempre que estiver aprendendo ou investigando um erro. Quanto menos mudanças entre dois testes, menor o espaço de busca.

Observação

Olhe a saída e, quando houver erro, leia a mensagem. Se necessário, adicione temporariamente print() para observar valores intermediários.

Reprodução

Um problema que pode ser reproduzido é muito mais fácil de diagnosticar. Anote quais entradas e passos fizeram a falha aparecer.

Modelo mental

HIPÓTESE → MUDANÇA PEQUENA → EXECUÇÃO → OBSERVAÇÃO → COMPARAÇÃO → PRÓXIMO PASSO

Exemplo 1 — primeiro veja o programa inteiro

valor = 12
dobro = valor * 2
triplo = valor * 3

print("valor:", valor)
print("dobro:", dobro)
print("triplo:", triplo)

Agora vamos ler linha por linha

  • Antes de executar, você consegue calcular manualmente 12 × 2 e 12 × 3.
  • As saídas funcionam como pontos de observação do estado.
  • Para testar uma hipótese, troque apenas valor. As fórmulas ficam iguais.
  • Se a saída surpreender, volte para a última alteração em vez de reescrever tudo.

Saída esperada

valor: 12
dobro: 24
triplo: 36

Exemplo 2 — o mesmo conceito em outra situação

preco = 50
desconto = 0.20
print("preco:", preco)
print("desconto:", desconto)
print("resultado:", preco * (1 - desconto))

Você pode observar cada entrada antes do cálculo final. Esse hábito vira uma forma simples de depuração quando os programas crescerem.

Experimento guiado

Não pule esta parte. Programação só começa a fazer sentido quando você prevê um resultado, executa e compara a previsão com o que realmente aconteceu.

  1. Preveja todas as saídas dos exemplos antes de executar.
  2. Mude apenas valor para 20 e compare previsão e resultado.
  3. No exemplo de desconto, troque 0.20 por 0.10 e explique o que permaneceu igual.
  4. Introduza um erro simples, confirme que consegue reproduzi-lo e reverta apenas a última mudança.

Mini desafio

Crie um programa que calcule o quadrado e o cubo de um número. Teste com 2, depois com 5, mudando somente o valor de entrada entre execuções.

Solução comentada

numero = 2
quadrado = numero ** 2
cubo = numero ** 3
print("quadrado:", quadrado)
print("cubo:", cubo)

# Depois, altere apenas a próxima linha para numero = 5
# e execute novamente.

Depois de executar a solução, altere pelo menos um valor e explique por que o novo resultado mudou. Se você só copiou e não consegue explicar cada linha, refaça o desafio em uma versão menor.

Erros comuns e por que acontecem

  • Fazer muitas alterações antes de testar e perder a relação entre causa e efeito.
  • Não escrever uma previsão; assim qualquer resultado parece “plausível”.
  • Ignorar a saída intermediária e olhar apenas o número final.
  • Mudar o código aleatoriamente até o erro desaparecer, sem entender a causa.

Cheque se você realmente entendeu

Por que prever a saída antes de executar?

Resposta: Porque a previsão cria uma hipótese que pode ser comparada com a execução real.

Se um erro apareceu depois de uma única mudança, onde você olha primeiro?

Resposta: Na mudança recente e nos valores diretamente afetados por ela.

O que significa reproduzir um erro?

Resposta: Conseguir repetir as condições e passos que fazem o problema acontecer novamente.

Resumo em linguagem simples

Nesta aula, o ponto central foi Executar, observar, alterar, repetir. Tente explicar o modelo HIPÓTESE → MUDANÇA PEQUENA → EXECUÇÃO → OBSERVAÇÃO → COMPARAÇÃO → PRÓXIMO PASSO sem olhar a tela. Depois, escreva um exemplo próprio menor que os apresentados. Esse exercício de explicação é parte do aprendizado, não um extra.

Conexão com a próxima aula

Na próxima aula, Valores e literais, vamos aproveitar exatamente o que foi construído aqui. Você não precisa memorizar tudo; precisa conseguir reconhecer o conceito e reconstruí-lo com raciocínio e testes.