Lógica de Programação com JavaScript: Guia Completo para Iniciantes (Do Zero ao Primeiro Projeto)
📘 Lógica de Programação com JavaScript: Guia Completo para Iniciantes (Do Zero ao Primeiro Projeto)
Do zero ao primeiro projeto • Algoritmos, condicionais, switch case e muito mais
🎯 Neste artigo você vai aprender: o que é algoritmo, como construir um sistema, usar condicionais (if/else e switch case), criar uma calculadora com menu e dar os primeiros passos na programação com JavaScript.
1. Introdução: Por que a lógica de programação é o seu primeiro passo?
Você quer aprender a programar, já assistiu a vários vídeos, mas ainda sente que “trava” na hora de criar seus próprios códigos? O problema quase sempre é o mesmo: falta de base em lógica de programação.
Neste artigo, vamos construir juntos os fundamentos que usei ao vivo com meus alunos da ETEC e nos meus projetos. Todo o conteúdo foi extraído de uma live especial onde unimos duas aulas de lógica com JavaScript. Você vai entender o que é um algoritmo, como transformar uma descrição narrativa em código, e ainda vai pôr a mão na massa com exemplos práticos.
No final deste artigo você encontra o link para a live completa (mais de 2h de conteúdo aprofundado). Continue estudando por aqui e depois assista à aula prática!
2. O que é um Sistema? A analogia que muda tudo
Antes de falar de código, precisamos entender o que estamos construindo. Um sistema é um conjunto de elementos interdependentes que formam um todo organizado. Pense no sistema solar: cada planeta tem sua função, mas todos trabalham em conjunto.
No mundo do desenvolvimento, qualquer sistema – um site, um aplicativo, uma calculadora – precisa de três partes:
- Entrada (input): dados que o usuário fornece (ex: peso e altura).
- Processamento: regras, cálculos e decisões (ex: fórmula do IMC).
- Saída (output): resultado exibido para o usuário (ex: “Abaixo do peso”).
Quando você estuda condicionais, laços de repetição e variáveis, está aprendendo as peças que vão formar o seu sistema.
3. Algoritmo: a sequência que resolve problemas
Algoritmo é uma sequência finita de passos para resolver um problema. Não existe um único jeito certo – dois programadores podem criar algoritmos diferentes que chegam ao mesmo resultado.
📌 Exemplo do dia a dia: o caminho que você faz de casa até o trabalho (levantar, tomar café, pegar o ônibus, andar até a empresa) é um algoritmo.
Na programação, um algoritmo pode ser representado de várias formas:
- Descrição narrativa: texto em linguagem natural (o cliente descreve o que quer).
- Fluxograma: diagrama com formas geométricas (início, processo, decisão, fim).
- Pseudocódigo (Portugol): quase código, mas em português estruturado.
- Código fonte: JavaScript, Python, Java etc.
Neste artigo, vamos focar em descrição narrativa → código JavaScript, que é o que você realmente vai usar no dia a dia.
4. Da descrição narrativa ao código: Estudo de caso – Cálculo de IMC
Um cliente envia a seguinte mensagem:
“Preciso de um sistema para calcular o IMC de uma pessoa. Depois de calcular, o sistema deve mostrar na tela: abaixo do peso, peso normal, sobrepeso ou obesidade. As informações (peso, altura, IMC e classificação) devem ser salvas em um documento (opcional).”
Agora vamos interpretar e transformar isso em requisitos:
- Dois campos de entrada:
peso(kg) ealtura(m). - Botão “Calcular IMC” – faz o cálculo e exibe a classificação.
- Botão “Salvar” (opcional) – guarda os dados em JSON.
- Fórmula:
IMC = peso / (altura * altura). - Classificação (exemplo fictício):
- Menor que 18,5 → “Abaixo do peso”
- 18,5 a 24,9 → “Peso normal”
- 25 a 29,9 → “Sobrepeso”
- 30 ou mais → “Obesidade”
Esse é o poder da lógica: você pega uma conversa “solta” e organiza em etapas que a máquina entende. No código, isso vira variáveis, condicionais e funções.
5. Primeiros passos no JavaScript: input, output e variáveis
Para interagir com o usuário em ambiente de estudo, usamos:
prompt("mensagem")→ entrada de dados (sempre retorna uma string).alert("mensagem")→ janela de alerta.console.log("mensagem")→ exibe no console do navegador (F12).
prompt é texto. Para fazer contas, converta para número usando Number() ou parseFloat().
Exemplo: somando dois números
let n1 = Number(prompt("Digite o primeiro valor:"));
let n2 = Number(prompt("Digite o segundo valor:"));
let soma = n1 + n2;
alert("A soma é: " + soma);
Se você esquecer a conversão, o sinal de + vai concatenar os textos (ex: 5 + 5 vira “55” em vez de 10).
Outras formas de saída:
document.write("texto")→ escreve diretamente no HTML.console.log("A soma é:", soma)→ útil para depuração.
6. Condicionais: o que o algoritmo deve fazer quando…
As condicionais permitem que o programa siga caminhos diferentes conforme os dados recebidos.
6.1 Estrutura if / else – exemplo do bom dia, boa tarde, boa noite
let hora = 18;
if (hora < 12) {
console.log("Bom dia!");
} else if (hora >= 12 && hora < 18) {
console.log("Boa tarde!");
} else {
console.log("Boa noite!");
}
Explicação: o programa testa a primeira condição (hora < 12). Se for false, vai para o else if. Se também for false, cai no else. Só um bloco é executado.
6.2 Estrutura switch case – quando há muitas opções fixas
O switch é ideal para menus ou situações onde uma variável pode assumir valores específicos (1, 2, 3, “+”, “-“, etc.).
let operador = "+";
let a = 10, b = 5;
switch (operador) {
case "+":
console.log(a + b);
break;
case "-":
console.log(a - b);
break;
default:
console.log("Operador inválido");
}
break interrompe a execução e sai do switch. Sem ele, o código “cai” no próximo case.
7. Projeto prático: Calculadora com Menu (usando switch case + tratamento de erros)
Vamos construir uma calculadora completa que roda no terminal (Node.js). Usaremos o pacote prompt-sync para capturar dados do usuário.
Passo 1: Instalar o pacote
npm install prompt-sync
Passo 2: Código completo (exemplo da live)
const prompt = require('prompt-sync')();
function realizarOperacao(opcao, num1, num2) {
switch (opcao) {
case 1:
return num1 + num2;
case 2:
return num1 - num2;
case 3:
return num1 * num2;
case 4:
if (num2 === 0) {
return "Erro: não é possível dividir por zero!";
}
return num1 / num2;
default:
return "Opção inválida!";
}
}
console.log("--- CALCULADORA ---");
console.log("1 - Soma\n2 - Subtração\n3 - Multiplicação\n4 - Divisão");
let opcao = parseInt(prompt("Escolha uma opção: "));
let num1 = parseFloat(prompt("Digite o primeiro número: "));
let num2 = parseFloat(prompt("Digite o segundo número: "));
let resultado = realizarOperacao(opcao, num1, num2);
console.log(`Resultado: ${resultado}`);
O que aprendemos aqui?
- Uso de
switchcomreturn(dispensa obreak). - Tratamento de divisão por zero com
if. - Conversão explícita com
parseInteparseFloat. - Template literal (`` `Resultado: ${resultado}` ``) para strings dinâmicas.
8. Dicas para você evoluir (e não travar)
- Não copie e cole: digite cada linha. O aprendizado está no processo, não no Ctrl+C / Ctrl+V.
- Use o console (F12) para depurar: insira
console.log(variavel)para ver se o valor está correto. - Capriche no CSS: mesmo em projetos pequenos, uma interface bonita aumenta sua motivação.
- Aprenda Git e GitHub desde agora: controle de versão é obrigatório para qualquer profissional.
📌 Próximos passos sugeridos:
- Laços de repetição (
for,while,do...while) - Vetores (arrays) e manipulação de listas
- Funções assíncronas (
async/await) - Banco de dados MySQL
9. Conclusão
A lógica de programação é a base que sustentará toda a sua carreira. Não pule etapas. Se você entendeu os conceitos de algoritmo, entradas, saídas, condicionais e praticou com os exemplos, já está à frente de muita gente.
E lembre-se: programar é resolver problemas. Quanto mais você praticar com mini projetos, mais natural fica o processo.
Não se esqueça de se inscrever no canal para mais conteúdos gratuitos.


