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

  1. O que é lógica de programação e por que ela importa mais do que decorar sintaxe.
  2. Variáveis, condições, repetições e funções, com exemplos que rodam.
  3. Como dividir um problema em etapas e planejar em pseudocódigo.
  4. 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:

  1. Diga o problema com suas palavras. "Quero saber em quantos meses chego à minha meta."
  2. Liste as entradas. A meta e o valor guardado por mês.
  3. Liste a saída. O número de meses.
  4. Resolva um caso pequeno à mão. Meta de R$ 1.000, R$ 250 por mês: 4 meses.
  5. Descreva os passos em pseudocódigo.
  6. Só então escreva o código, começando pelo passo mais simples.
  7. 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.

Em português, com cerca de 7 minutos, publicado em 22 de maio de 2019. Vídeo curto e introdutório sobre lógica de programação e algoritmos. Tem mais de seis anos, então use como introdução, e não como referência de ferramentas. Nível: iniciante.
Vídeo: Sharpax
Em português, com cerca de 6 minutos, publicado em 14 de abril de 2025. Explica o pseudocódigo de forma visual. Nível: iniciante.
Vídeo: Código Ilustrado
Em português, com cerca de 2 horas e 52 minutos, publicado em 6 de agosto de 2025. Curso mais longo, para quem quer aprofundar. A descrição oferece serviços de automação e cursos do próprio canal. Nível: iniciante.
Vídeo: Dev Aprender | Jhonatan de Souza
Em inglês, com cerca de 4 horas e 27 minutos, publicado em 11 de julho de 2018. A descrição informa que há faixa de áudio dublada em português; é preciso trocá-la nas configurações do vídeo. Tem mais de oito anos, então confira a documentação atual em caso de diferença. Nível: iniciante.
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.

  1. Idade: peça o ano de nascimento e mostre a idade aproximada.
  2. Par ou ímpar: peça um número e diga se ele é par ou ímpar.
  3. 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.
  4. 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.
  5. 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:

  1. Escreva o pseudocódigo (use o exemplo acima como ponto de partida).
  2. Implemente meses_para_meta.
  3. Implemente total_guardado.
  4. Trate os casos esquisitos: valor mensal zero, negativo ou meta negativa.
  5. 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