Respostas

Gabarito Comentado: Praticando com Estruturas de Repetição em JavaScript

Nível Básico: Dominando os Loops Clássicos


Exercício 1: Contagem Simples com for

💡 Dica: Lembre-se da estrutura do for: for (início; condição; atualização). Você precisa começar em 1 e parar quando o número for maior que 20.

// A estrutura do 'for' é ideal quando sabemos o número exato de repetições.
// 1. Início: let i = 1; (começamos a contar do 1)
// 2. Condição: i <= 20; (o loop continua enquanto 'i' for menor ou igual a 20)
// 3. Atualização: i++; (a cada volta, incrementamos 'i' em 1)
for (let i = 1; i <= 20; i++) {
  console.log(i); // Imprime o valor atual de 'i'
}

Exercício 2: Contagem Regressiva com for

💡 Dica: A lógica é parecida com a do exercício anterior, mas o valor inicial será maior e a atualização será de decremento (--).

// 1. Início: let i = 10; (o ponto de partida é o 10)
// 2. Condição: i >= 0; (o loop roda enquanto 'i' for maior ou igual a 0)
// 3. Atualização: i--; (a cada volta, diminuímos 'i' em 1)
for (let i = 10; i >= 0; i--) {
  console.log(i);
}

Exercício 3: Tabuada com for

💡 Dica: Você pode usar prompt() para pegar o número do usuário. Dentro do loop, calcule numero * i e imprima o resultado formatado.


Exercício 4: Somente Números Pares com while

💡 Dica: Inicie uma variável em 2. A condição do while deve ser enquanto essa variável for menor ou igual a 20. Dentro do loop, não se esqueça de incrementar a variável de 2 em 2 (variavel += 2).


Exercício 5: Validação de Senha com do...while

💡 Dica: O do...while é perfeito aqui, pois garante que o prompt seja executado pelo menos uma vez. A condição no while verificará se a tentativa é diferente da senha correta.


Exercício 6: Percorrendo um Array de Frutas com for...of

💡 Dica: O for...of foi feito para percorrer itens de listas (iteráveis) de forma simples, sem a necessidade de controlar um índice i.


Exercício 7: Exibindo Propriedades de um Objeto com for...in

💡 Dica: O for...in percorre as chaves (propriedades) de um objeto. Para acessar o valor, use objeto[chave].


Nível Intermediário: Manipulando Dados e Controlando Fluxos


Exercício 8: Somando Elementos de um Array

💡 Dica: Crie uma variável soma inicializada com 0. Dentro do loop, some cada número do array a essa variável.


Exercício 9: Encontrando o Primeiro Múltiplo de 5

💡 Dica: Use o operador de módulo (%) para checar se um número é múltiplo de outro. numero % 5 === 0 significa que é múltiplo de 5. Quando encontrar, use break para sair do loop.


Exercício 10: Pulando os Números Ímpares

💡 Dica: Dentro do for, verifique se o número é ímpar (numero % 2 !== 0). Se for, chame o continue para pular para a próxima iteração.


Exercício 11: Encontrando o Maior Número em um Array

💡 Dica: Crie uma variável maiorNumero e atribua a ela o primeiro elemento do array. Depois, percorra o restante do array. Se encontrar um número maior, atualize o valor de maiorNumero.


Exercício 12: Contando Vogais em uma String

💡 Dica: Você pode criar um array ou uma string com as vogais para facilitar a verificação. Use .toLowerCase() na letra atual para não se preocupar com maiúsculas.

OU


Exercício 13: Filtrando Nomes

💡 Dica: Strings têm um método chamado .startsWith(). Você pode usar nome.startsWith("A") para checar.


Nível Avançado: Loops Aninhados e Métodos Funcionais


Exercício 14: Desenhando um Quadrado

💡 Dica: O loop externo controlará as linhas. O loop interno controlará as colunas e montará a string de cada linha.


Exercício 15: Percorrendo uma Matriz

💡 Dica: O primeiro loop percorre as linhas (os arrays internos). O segundo loop percorre os elementos de cada linha.


Exercício 16: Invertendo uma Array Manualmente

💡 Dica: A forma mais fácil é criar um novo array vazio. Depois, você pode percorrer o array original do último ao primeiro elemento usando um loop for e adicionar cada item ao novo array com .push().


Exercício 17: Filtrando e Mapeando Dados de Objetos

💡 Dica: Crie um array vazio para guardar os nomes dos produtos caros. Use um loop for...of para percorrer a lista de produtos. Dentro do loop, use um if para checar se produto.preco é maior que 50. Se for, adicione o produto.nome ao seu novo array.


Exercício 18: Encontrando Elementos em Comum

💡 Dica: A solução mais clássica para este problema envolve loops aninhados. O loop externo percorre o primeiro array, e para cada número, o loop interno percorre o segundo array para ver se encontra um número igual. Não se esqueça de criar um terceiro array para armazenar os números em comum!


Exercício 19: Calculando Balanço Financeiro

💡 Dica: Comece criando um objeto para armazenar os totais, por exemplo: { receitas: 0, despesas: 0, saldo: 0 }. Depois, percorra o array de transações com um loop. Dentro do loop, use um if para verificar o tipo da transação e some o valor à chave correspondente no seu objeto de totais. O saldo pode ser calculado após o loop.


Exercício 20: Combinação de Dados

💡 Dica: O loop externo percorrerá os produtos. Para cada produto, o loop interno percorrerá todas as cores, criando as combinações.

Atualizado