Lógica de programação é a habilidade de transformar um problema em passos pequenos, claros e na ordem certa, de modo que um computador consiga segui-los. Ela vem antes da linguagem: quem entende a lógica troca de Python para JavaScript sem começar do zero. Este é o segundo artigo da trilha "Quero virar dev em casa". Se você ainda não leu, comece por por onde começar.
Para quem é este artigo
Para quem nunca programou ou quer firmar a base antes de partir para HTML, CSS e JavaScript. Pré-requisitos: nenhum além de um computador e de um editor de texto. Tempo de estudo sugerido: de 2 a 4 horas ao longo de uma semana, entre leitura, vídeos e exercícios (estimativa da Redação).
O que você vai aprender
- O que é lógica de programação e por que ela importa mais do que decorar sintaxe.
- Variáveis, condições, repetições e funções, com exemplos que rodam.
- Como dividir um problema em etapas e planejar em pseudocódigo.
- Cinco exercícios e um mini-projeto.
O que é lógica de programação
Um computador faz exatamente o que o programa manda, na ordem em que manda. Ele não adivinha. Por isso, programar é, em boa parte, descrever com precisão o que deve acontecer. A lógica é essa capacidade de descrever: quais dados existem, que decisões precisam ser tomadas, o que se repete e o que pode virar um bloco reutilizável.
Pense em uma receita. "Faça um bolo" não é um programa. "Pré-aqueça o forno a 180 graus, misture os ovos, o açúcar e a farinha, despeje na forma, asse por 40 minutos" é. Um algoritmo é isso: uma sequência finita de passos que leva de uma entrada (os ingredientes) a um resultado (o bolo).
Por que importa mais do que decorar sintaxe
A sintaxe é como se escreve em uma linguagem específica: pontuação, palavras reservadas, formato. A lógica é o raciocínio por trás. A sintaxe você consulta na documentação quantas vezes precisar. A lógica é o que você precisa ter na cabeça para saber o que consultar. Esta é uma observação da Redação, e é por isso que esta trilha põe a lógica antes de HTML, CSS e JavaScript.
Os quatro blocos de construção
Os exemplos abaixo estão em Python, e cada um tem o equivalente em JavaScript. Todos foram executados pela Redação e produzem as saídas mostradas.
1. Variáveis: onde guardar um dado
O MDN define uma variável como "um contêiner para um valor" e destaca que variáveis não são os valores em si. Você dá um nome a um dado para usá-lo depois.
ano_nascimento = 1995
ano_atual = 2026
idade = ano_atual - ano_nascimento
print("Você tem", idade, "anos")
Saída: Você tem 31 anos. (O cálculo usa só o ano, então é aproximado: ele não considera se o aniversário já passou.)
Em JavaScript, a variável se declara com let ou const. A página do MDN recomenda: use const quando puder e let quando precisar.
const idade = 2026 - 1995;
console.log("Você tem", idade, "anos");
2. Condições: decidir entre caminhos
Uma condição executa um bloco só se algo for verdadeiro. O tutorial oficial de Python trata disso em if, elif e else.
for numero in [4, 7]:
if numero % 2 == 0:
print(numero, "é par")
else:
print(numero, "é ímpar")
Saída: 4 é par e 7 é ímpar. O operador % devolve o resto da divisão: se o resto da divisão por 2 é zero, o número é par.
3. Repetições: fazer várias vezes
Um laço repete um bloco. O tutorial oficial de Python explica o for e o range(), que gera uma sequência de números.
total = 0
for mes in range(1, 4):
total = total + 100
print("Mês", mes, "- guardado:", total)
Saída: Mês 1 - guardado: 100, Mês 2 - guardado: 200 e Mês 3 - guardado: 300. Atenção: range(1, 4) vai de 1 até 3, e o 4 fica de fora. É um erro clássico de iniciante.
4. Funções: dar nome a um bloco e reaproveitá-lo
Uma função recebe dados, faz uma tarefa e devolve um resultado. O tutorial oficial de Python mostra como defini-las.
def total_guardado(valor_mensal, meses):
return valor_mensal * meses
print(total_guardado(200, 12))
Saída: 2400. Em JavaScript:
function totalGuardado(valorMensal, meses) {
return valorMensal * meses;
}
console.log(totalGuardado(200, 12));
Como quebrar um problema em etapas
Problema grande assusta, e o remédio é dividi-lo, como um quebra-cabeça que se monta por regiões. Uma rotina simples, da Redação:
- Diga o problema com suas palavras. "Quero saber em quantos meses chego à minha meta."
- Liste as entradas. A meta e o valor guardado por mês.
- Liste a saída. O número de meses.
- Resolva um caso pequeno à mão. Meta de R$ 1.000, R$ 250 por mês: 4 meses.
- Descreva os passos em pseudocódigo.
- Só então escreva o código, começando pelo passo mais simples.
- Teste com casos normais e com casos esquisitos, como valor mensal igual a zero.
Pseudocódigo: planejar antes de programar
Pseudocódigo é um rascunho em português, sem regras de sintaxe, que descreve o raciocínio:
receber a meta
receber o valor guardado por mês
se o valor por mês for zero ou menos:
avisar que não dá para calcular
senão:
meses = meta dividida pelo valor por mês, arredondada para cima
mostrar os meses
O mesmo raciocínio em Python, já testado:
import math
def meses_para_meta(meta, valor_mensal):
if valor_mensal <= 0:
return None
return math.ceil(meta / valor_mensal)
print(meses_para_meta(5000, 300)) # 17
print(meses_para_meta(5000, 0)) # None
Saídas: 17 e None. Repare que o caso esquisito (valor mensal igual a zero) foi pensado antes do código. É essa a vantagem do pseudocódigo.
Vídeos para estudar
Os quatro vídeos foram verificados quanto ao título, ao canal, à duração, à data e à possibilidade de incorporação. A Redação não os assistiu na íntegra nem verificou o que dizem.
Vídeo: Sharpax
Vídeo: Código Ilustrado
Vídeo: Dev Aprender | Jhonatan de Souza
Vídeo: freeCodeCamp.org
Para uma base de computação mais ampla, a Aula 0 do CS50x trata de Scratch e está em CS50x em Português, como vimos no artigo anterior.
Exercícios práticos
Faça cada um em Python ou em JavaScript, sem copiar a resposta pronta. Se travar, escreva o pseudocódigo primeiro.
- Idade: peça o ano de nascimento e mostre a idade aproximada.
- Par ou ímpar: peça um número e diga se ele é par ou ímpar.
- Calculadora simples: peça dois números e uma operação (soma, subtração, multiplicação ou divisão) e mostre o resultado. Trate a divisão por zero.
- Adivinhação: o programa escolhe um número de 1 a 10 e você tem três tentativas. Dica: pesquise "número aleatório" na documentação da linguagem.
- Conversor de moedas: peça um valor em reais e uma cotação digitada por você, e mostre o valor convertido. (Não use cotação "de verdade" automática por enquanto; isso fica para o artigo de JavaScript e APIs.)
Mini-projeto: calculadora de metas financeiras
O usuário informa quanto quer guardar, quanto consegue guardar por mês e o programa mostra em quantos meses chega lá e quanto terá guardado depois de 12 meses.
Etapas sugeridas:
- Escreva o pseudocódigo (use o exemplo acima como ponto de partida).
- Implemente
meses_para_meta. - Implemente
total_guardado. - Trate os casos esquisitos: valor mensal zero, negativo ou meta negativa.
- Teste com pelo menos cinco combinações de números, calculando a resposta certa à mão antes.
Resultado esperado: um programa pequeno e útil que usa variáveis, condição e função, e que você consegue explicar linha a linha.
Erros comuns de iniciantes
- Copiar o código sem entender. Antes de rodar, explique em voz alta o que cada linha faz.
- Começar a digitar sem planejar. Dois minutos de pseudocódigo evitam uma hora de confusão.
- Esquecer o caso de borda: zero, vazio, valor negativo, número muito grande.
- Errar por um:
range(1, 4)não inclui o 4. - Misturar
=e==: o primeiro guarda um valor, o segundo compara. - Ler a mensagem de erro pela metade. Ela costuma dizer a linha e o motivo.
- Pular o teste. Rode, falhe, corrija. É o processo normal.
Checklist de conclusão
- Sei explicar, com minhas palavras, o que é um algoritmo.
- Usei variável, condição, repetição e função em código que rodou.
- Escrevi pseudocódigo antes de programar pelo menos um exercício.
- Fiz os cinco exercícios.
- Terminei a calculadora de metas e testei casos esquisitos.
Próximo passo da trilha
Com a lógica na mão, o próximo artigo leva você a HTML e CSS, para criar sua primeira página de verdade. Se ainda não publicou sua página pessoal do artigo 1, esse é o momento.
Perguntas frequentes
O que é lógica de programação?
É a capacidade de dividir um problema em passos claros, na ordem certa, que um computador consiga executar. Ela vale em qualquer linguagem.
Preciso ser bom em matemática para programar?
Para começar, o necessário é a aritmética básica e o raciocínio passo a passo, como nos exemplos acima. Áreas específicas, como ciência de dados, pedem mais matemática depois. Esta é uma observação da Redação.
Qual a diferença entre lógica e sintaxe?
Sintaxe é como se escreve em uma linguagem específica. Lógica é o raciocínio por trás, e vale para todas. A sintaxe se consulta; a lógica você precisa ter.
O que é pseudocódigo?
É um rascunho em português, sem regras de sintaxe, que descreve os passos de um programa antes de escrevê-lo.
Qual linguagem usar para aprender lógica: Python ou JavaScript?
As duas servem. Python costuma ter uma sintaxe mais enxuta para estudar lógica, e JavaScript é a linguagem da web, que vem na sequência da trilha. Esta é uma observação da Redação. Escolha uma e termine os exercícios.
Quanto tempo leva para aprender lógica de programação?
Não há prazo oficial, e a Redação não o inventa. Meça o progresso por evidência: você consegue resolver os cinco exercícios sem copiar a resposta e explicar o código linha a linha?
Posso usar IA para estudar lógica?
Pode, como tutora: para explicar um erro ou revisar um trecho. Não use para escrever os exercícios por você, porque o aprendizado está em tentar, errar e corrigir.
Fontes
- More Control Flow Tools (Python Tutorial), Python Software Foundation
- Storing the information you need: Variables, MDN Web Docs (Mozilla)
- CS50x: Introduction to Computer Science, Harvard CS50
- Quero virar dev em casa: por onde começar de verdade, PushTech
