O que é lógica de programação e como aprender do jeito certo

Lógica de programação é a habilidade de transformar um problema em uma sequência de passos que um computador consegue seguir, usando poucas peças: variáveis, decisões (se/senão), repetições e funções. Ela vem antes da linguagem porque essas peças existem em todas elas. Quem aprende a pensar com elas troca de Python para JavaScript em semanas; quem só decorou comandos recomeça do zero.
$ ls ./neste-artigo
- As quatro peças que toda linguagem repete
- Etapa 1: escrever o passo a passo em português
- Etapa 2: passar para pseudocódigo ou fluxograma
- Etapa 3: fazer o teste de mesa
- Etapa 4: migrar para uma linguagem de verdade
- Etapa 5: treinar com uma escada de exercícios
- Os atalhos que parecem ajudar e atrapalham
- Um teste para saber se a lógica já está firme
A notícia boa é que esse raciocínio se treina como musculação, com séries curtas e progressão. A ruim é que vídeo nenhum faz isso por você: só resolver problemas resolve. Abaixo está um roteiro em etapas, com o ponto onde quase todo mundo emperra em cada uma.
As quatro peças que toda linguagem repete
Antes do roteiro, vale ter o mapa. Praticamente todo programa para iniciantes é uma combinação de:
| Peça | O que faz | Exemplo do dia a dia |
|---|---|---|
| Variável | Guarda um valor com um nome | Anotar o saldo da conta num papel |
| Condição | Escolhe um caminho conforme um teste | Se chover, levo guarda-chuva |
| Repetição | Executa um bloco várias vezes | Lavar pratos enquanto houver louça na pia |
| Função | Dá nome a um bloco para reutilizar | “Fazer café” como uma tarefa só |
Somam-se a elas os operadores (aritméticos, de comparação e lógicos como e, ou, não) e as estruturas que guardam vários valores, como listas. Quem domina essa tabela consegue ler o tutorial oficial de qualquer linguagem com tranquilidade. O tutorial oficial do Python em português, por exemplo, é organizado praticamente nessa ordem.

Etapa 1: escrever o passo a passo em português
Comece sem computador. Pegue tarefas do cotidiano e descreva cada passo como se fosse para alguém muito literal: trocar uma lâmpada, sacar dinheiro no caixa eletrônico, decidir se dá tempo de pegar o ônibus.
O exercício parece bobo até você notar quantas decisões escondidas existem. No caixa eletrônico: e se a senha estiver errada? E se for a terceira vez? E se não houver saldo? Cada “e se” vira uma condição no programa.
A armadilha desta etapa: escrever passos vagos como “verificar a conta”. Verificar o quê, comparado com o quê? Um passo bom tem verbo claro e um critério testável.
Etapa 2: passar para pseudocódigo ou fluxograma
O segundo degrau é formalizar um pouco. Muitas faculdades brasileiras usam o Portugol, um pseudocódigo em português, e ferramentas como o VisuAlg ou o Portugol Webstudio, que rodam esse pseudocódigo no navegador.
programa {
funcao inicio() {
real nota1, nota2, media
leia(nota1, nota2)
media = (nota1 + nota2) / 2
se (media >= 6) {
escreva("Aprovado")
} senao {
escreva("Recuperação")
}
}
}Não precisa ficar meses aqui. Duas ou três semanas de exercícios em pseudocódigo bastam para fixar a estrutura; depois, a mesma lógica numa linguagem real é quase tradução literal.
O tropeço típico: tratar Portugol como objetivo final. Ele é rodinha de bicicleta, útil até você se equilibrar.
Etapa 3: fazer o teste de mesa
Este é o hábito que quase nenhum curso rápido ensina e que mais separa quem evolui de quem trava.
Teste de mesa é executar o algoritmo no papel, linha por linha, anotando o valor de cada variável numa tabela. Veja um laço que soma os números de 1 a 4:
| Passo | i | soma | i <= 4? |
|---|---|---|---|
| início | 1 | 0 | sim |
| 1ª volta | 2 | 1 | sim |
| 2ª volta | 3 | 3 | sim |
| 3ª volta | 4 | 6 | sim |
| 4ª volta | 5 | 10 | não, sai do laço |
Fazer isso à mão força você a ver o que o programa realmente faz, e não o que você imagina que ele faz. É assim que se encontra o erro de “um a mais ou um a menos” (usar < no lugar de <=), campeão absoluto de bugs em laços.
Erro clássico aqui: pular a tabela porque “é óbvio”. O teste de mesa é justamente para o óbvio que está errado.
Etapa 4: migrar para uma linguagem de verdade
Com as quatro peças e o teste de mesa no reflexo, escolha uma linguagem e reescreva os exercícios que já fez. Python é a escolha mais comum por ter sintaxe enxuta; JavaScript serve bem para quem quer ver o resultado no navegador.
O mesmo programa da média, em Python:
nota1 = float(input("Nota 1: "))
nota2 = float(input("Nota 2: "))
media = (nota1 + nota2) / 2
print("Aprovado" if media >= 6 else "Recuperação")Aqui entram detalhes que o pseudocódigo esconde: input sempre devolve texto, por isso o float(). Esquecer a conversão gera erro na hora de somar, e entender por que acontece é exatamente lógica de programação aplicada.
Atenção nesta fase: resista a aprender framework antes de dominar laços e funções. Django ou React em cima de uma lógica frágil vira uma pilha de código copiado que você não sabe consertar.
Se você ainda está no ponto de decidir por onde começar, o texto por onde começar sua jornada na codificação ajuda a montar o ambiente e o cronograma.
Etapa 5: treinar com uma escada de exercícios
Volume com progressão. Uma escada que funciona bem para as primeiras semanas:
- Ler dois números e mostrar o maior.
- Dizer se um número é par ou ímpar (use o operador de resto,
%). - Calcular o IMC e classificar em faixas.
- Mostrar a tabuada de um número com um laço.
- Somar todos os números de uma lista sem usar
sum(). - Encontrar o maior e o menor valor de uma lista em uma única passada.
- Contar quantas vogais existem numa frase.
- Verificar se uma palavra é palíndromo (“arara”, “osso”).
- Simular um caixa eletrônico que entrega notas de 100, 50, 20 e 10.
- Jogo de adivinhar número com contagem de tentativas.
Repare que os exercícios 5 e 6 proíbem atalhos de propósito. Funções prontas como max() e sum() são ótimas no trabalho, mas no treino elas escondem exatamente o raciocínio que você está tentando construir: guardar um valor parcial e atualizá-lo a cada volta do laço.
Faça cada um primeiro em pseudocódigo, depois teste de mesa, depois código. Parece lento. Em duas semanas fica automático, e a velocidade aparece.
Onde costuma dar errado: pular para o próximo exercício quando o atual “quase funciona”. O quase é onde está o aprendizado.
Os atalhos que parecem ajudar e atrapalham
Alguns comportamentos dão sensação de progresso sem produzir progresso:
- Assistir resolução antes de tentar. Tente por pelo menos 20 minutos. Travou? Veja só a primeira dica, não a solução inteira.
- Pedir o código pronto a uma IA. Use a IA para explicar um erro ou revisar seu raciocínio, não para escrever o exercício. O objetivo do exercício é o seu cérebro, não o código.
- Trocar de linguagem a cada semana. A lógica é a mesma; mudar de sintaxe toda hora só reinicia a parte chata.
- Copiar e colar sem digitar. Digitar o código obriga a ler cada símbolo.
Para relacionar os termos que aparecem nesse caminho (variável, função, compilador, depuração), mantenha aberto o nosso glossário de programação.
Um teste para saber se a lógica já está firme
Pegue o exercício 9 da escada, o caixa eletrônico, e resolva sem consultar nada. Se você conseguir explicar em voz alta por que começa pela nota de 100 e o que acontece quando o valor pedido é 15, sua base está pronta para estruturas de dados. Se travar, volte duas etapas e refaça os testes de mesa: é ali que o raciocínio se consolida, e não existe vergonha nenhuma em repetir.




