Exercícios de Lógica de Programação para Iniciantes

Aprenda lógica de programação com esta lista completa de 10 exercícios progressivos, do básico ao intermediário. Cada exercício inclui enunciado, dica, pseudocódigo e solução comentada em JavaScript. Perfeito para quem está começando e quer praticar variáveis, condicionais, loops, funções e arrays. Bônus de boas-vindas até R$1.500

Por que praticar lógica de programação?

Antes de construir aplicações complexas, é fundamental dominar os fundamentos da lógica de programação. A lógica é a base de qualquer linguagem — seja JavaScript, Python ou PHP — e resolver exercícios é a forma mais eficaz de desenvolver o raciocínio computacional. Neste guia, você encontrará 10 exercícios progressivos, começando com conceitos simples como variáveis e operações, passando por condicionais e laços, até chegar a funções e arrays. Todos os exemplos são escritos em JavaScript, mas os conceitos podem ser aplicados em qualquer linguagem. Ao final, você estará mais preparado para enfrentar desafios reais de programação.

Estes exercícios complementam nossos todos os estudos de programação e são um ponto de partida para quem deseja aprender algoritmos em JavaScript ou explorar estruturas de dados em Python.

O que você vai aprender

  • Variáveis e tipos de dados
  • Estruturas condicionais (if/else)
  • Laços de repetição (for, while)
  • Funções
  • Manipulação de strings e arrays

Esses tópicos são comuns em qualquer entrevista técnica e formam a espinha dorsal do desenvolvimento de software. Se você está começando agora, pratique na ordem sugerida para construir uma base sólida.

Lista de Exercícios

1. Soma de dois números

Enunciado: Faça um programa que solicite dois números ao usuário e exiba a soma deles.

Dica: Armazene os valores em variáveis e utilize o operador aritmético +.

Pseudocódigo:

Início
  Escreva "Digite o primeiro número:"
  Leia n1
  Escreva "Digite o segundo número:"
  Leia n2
  soma <- n1 + n2
  Escreva "Soma: ", soma
Fim

Solução em JavaScript:

// 1. Soma de dois números
let a = Number(prompt("Digite o primeiro número:"));
let b = Number(prompt("Digite o segundo número:"));
let soma = a + b;
alert("A soma é: " + soma);

2. Número par ou ímpar

Enunciado: Determine se um número fornecido pelo usuário é par ou ímpar.

Dica: O operador % (módulo) retorna o resto da divisão. Se o resto por 2 for 0, o número é par.

Pseudocódigo:

Início
  Escreva "Digite um número:"
  Leia num
  Se num % 2 == 0 então
    Escreva "O número é par."
  Senão
    Escreva "O número é ímpar."
Fim

Solução em JavaScript:

// 2. Par ou ímpar
let num = Number(prompt("Digite um número:"));
if (num % 2 === 0) {
  alert(num + " é par.");
} else {
  alert(num + " é ímpar.");
}

3. Tabuada de multiplicação

Enunciado: Exiba a tabuada de multiplicação de um número informado pelo usuário (de 1 a 10).

Dica: Use um laço for que varie de 1 a 10.

Pseudocódigo:

Início
  Escreva "Digite um número para a tabuada:"
  Leia n
  Para i de 1 até 10 faça
    Escreva n + " x " + i + " = " + (n * i)
  Fim para
Fim

Solução em JavaScript:

// 3. Tabuada
let n = Number(prompt("Digite um número para a tabuada:"));
for (let i = 1; i <= 10; i++) {
  console.log(n + " x " + i + " = " + (n * i));
  // Use alert se preferir: alert(n + " x " + i + " = " + (n*i));
}

4. Fatorial

Enunciado: Escreva uma função que calcule o fatorial de um número inteiro não negativo n (n! = n × (n-1) × ... × 1).

Dica: Utilize recursão ou um laço de repetição. O fatorial de 0 é 1.

Pseudocódigo:

Função fatorial(n)
  Se n <= 1 então
    Retorne 1
  Senão
    Retorne n * fatorial(n - 1)
Fim função

Solução em JavaScript:

// 4. Fatorial (função recursiva)
function fatorial(n) {
  if (n <= 1) return 1;
  return n * fatorial(n - 1);
}
let num = Number(prompt("Digite um número para calcular o fatorial:"));
alert(num + "! = " + fatorial(num));

5. Palíndromo

Enunciado: Verifique se uma palavra (sem espaços) é um palíndromo, ou seja, se lida de trás para frente é igual.

Dica: Converta a string para minúsculas, remova espaços e compare com a versão invertida.

Pseudocódigo:

Início
  Escreva "Digite uma palavra:"
  Leia palavra
  invertida <- ""
  Para i de comprimento(palavra)-1 até 0 faça
    invertida <- invertida + palavra[i]
  Fim para
  Se palavra == invertida então
    Escreva "É palíndromo"
  Senão
    Escreva "Não é palíndromo"
Fim

Solução em JavaScript:

// 5. Palíndromo
let palavra = prompt("Digite uma palavra:").toLowerCase().replace(/\s/g, "");
let invertida = palavra.split('').reverse().join('');
if (palavra === invertida) {
  alert("É palíndromo!");
} else {
  alert("Não é palíndromo.");
}

6. Sequência de Fibonacci

Enunciado: Gere os primeiros N números da sequência de Fibonacci, onde cada termo é a soma dos dois anteriores: 0, 1, 1, 2, 3, 5, 8...

Dica: Use um array e um laço for; os dois primeiros termos são fixos (0 e 1).

Pseudocódigo:

Início
  Escreva "Quantos termos da Fibonacci deseja?"
  Leia N
  fib[0] <- 0
  fib[1] <- 1
  Para i de 2 até N-1 faça
    fib[i] <- fib[i-1] + fib[i-2]
  Fim para
  Escreva fib
Fim

Solução em JavaScript:

// 6. Fibonacci
let N = Number(prompt("Quantos termos da Fibonacci?"));
let fib = [0, 1];
for (let i = 2; i < N; i++) {
  fib[i] = fib[i-1] + fib[i-2];
}
alert("Sequência: " + fib.join(", "));

7. Média de três números

Enunciado: Calcule a média aritmética de três números fornecidos pelo usuário.

Dica: Some todos e divida por 3.

Pseudocódigo:

Início
  Escreva "Digite três números:"
  Leia a, b, c
  media <- (a + b + c) / 3
  Escreva "Média: ", media
Fim

Solução em JavaScript:

// 7. Média de três números
let x = Number(prompt("Primeiro número:"));
let y = Number(prompt("Segundo número:"));
let z = Number(prompt("Terceiro número:"));
let media = (x + y + z) / 3;
alert("Média: " + media.toFixed(2));

8. Maior de três números

Enunciado: Encontre e exiba o maior entre três números inteiros.

Dica: Use condicionais aninhadas ou operadores lógicos.

Pseudocódigo:

Início
  Escreva "Digite três números:"
  Leia a, b, c
  Se a >= b e a >= c então
    maior <- a
  Senão se b >= a e b >= c então
    maior <- b
  Senão
    maior <- c
  Fim se
  Escreva "Maior: ", maior
Fim

Solução em JavaScript:

// 8. Maior de três
let a = Number(prompt("Primeiro número:"));
let b = Number(prompt("Segundo número:"));
let c = Number(prompt("Terceiro número:"));
let maior;
if (a >= b && a >= c) {
  maior = a;
} else if (b >= a && b >= c) {
  maior = b;
} else {
  maior = c;
}
alert("O maior número é: " + maior);

9. Inverter um array

Enunciado: Dado um array de números (ex: [1,2,3,4,5]), crie um novo array com os elementos na ordem inversa.

Dica: Percorra o array original de trás para frente e adicione ao novo array.

Pseudocódigo:

Início
  arr <- [1, 2, 3, 4, 5]
  invertido <- []
  Para i de comprimento(arr)-1 até 0 passo -1 faça
    adicionar arr[i] ao final de invertido
  Fim para
  Escreva invertido
Fim

Solução em JavaScript:

// 9. Inverter array
let original = [1, 2, 3, 4, 5];
let invertido = [];
for (let i = original.length - 1; i >= 0; i--) {
  invertido.push(original[i]);
}
console.log("Original:", original);
console.log("Invertido:", invertido);
// Exiba com alert se preferir: alert("Invertido: " + invertido);

10. Contar vogais em uma string

Enunciado: Conte quantas vogais (a, e, i, o, u) existem em uma string fornecida pelo usuário (ignorando acentos).

Dica: Converta a string para minúsculo e percorra caractere por caractere verificando se pertence ao conjunto de vogais.

Pseudocódigo:

Início
  Escreva "Digite uma string:"
  Leia str
  str <- minúsculo(str)
  vogais <- 0
  Para cada char em str faça
    Se char in {'a','e','i','o','u'} então
      vogais <- vogais + 1
  Fim para
  Escreva "Quantidade de vogais: ", vogais
Fim

Solução em JavaScript:

// 10. Contar vogais
let frase = prompt("Digite uma frase:").toLowerCase();
let vogais = 0;
for (let char of frase) {
  if ('aeiou'.includes(char)) {
    vogais++;
  }
}
alert("A string contém " + vogais + " vogais.");

Perguntas Frequentes

Preciso saber JavaScript para fazer estes exercícios?

Não necessariamente. O foco é lógica de programação, e você pode usar qualquer linguagem. O JavaScript foi escolhido por sua popularidade e facilidade de teste no navegador. Se preferir, adapte os exemplos para Python, PHP ou outra linguagem.

Quanto tempo leva para completar todos?

Depende do seu ritmo, mas separar uma hora por dia durante uma semana é suficiente para absorver os conceitos. O importante é praticar com calma e entender cada solução.

Onde posso encontrar mais exercícios?

Confira nossos desafios de lógica resolvidos passo a passo e nossa coleção de estudos de lógica interativa. Também recomendamos as conversões matemáticas e programação para praticar com problemas do dia a dia.

Conclusão

Parabéns por completar os exercícios! A prática consistente é a chave para se tornar um bom programador. Lembre-se de revisitar os conceitos sempre que necessário. Para continuar seus estudos, recomendamos explorar algoritmos em JavaScript e estruturas de dados em Python. Se tiver dúvidas ou quiser um orçamento para um projeto web, entre em contato pelo WhatsApp. Bons estudos!