Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

não entendi bem como criava esse loop com o while então acabei so usando a cola

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Olá, Mateus. Como vai?

Fique tranquilo, o conceito de loops e do laço while pode parecer um pouco confuso no começo mesmo, e usar a "cola" (o gabarito ou o código de referência) faz parte do processo de aprendizado para entender como as coisas funcionam por trás dos panos.

Analisando a imagem do seu código, a boa notícia é que a estrutura do seu while (linhas 18 a 21) está perfeitamente correta. O loop vai funcionar direitinho!

Para que você não precise mais de cola e entenda de uma vez por todas como o while funciona, pense nele como uma engrenagem que repete passos baseada em 3 pilares fundamentais. Vamos analisar como você aplicou cada um deles:

Os 3 Pilares do While

  • 1. O Ponto de Partida (Linha 17): let numero = 1;
    Aqui você cria uma variável que vai servir como o seu contador. Ela começa valendo 1.
  • 2. A Condição de Parada (Linha 18): while (numero <= 10) { ... }
    A palavra while significa enquanto. Então, o JavaScript lê isso como: "Enquanto a variável numero for menor ou igual a 10, continue executando o que está aqui dentro".
  • 3. O Passo de Evolução (Linha 20): numero++;
    Isso é o mais importante! O comando numero++ soma +1 ao valor atual da variável. Sem essa linha, a variável numero valeria 1 para sempre, a condição nunca seria atingida e o seu navegador travaria em um loop infinito.

O computador executa o código imprimindo o 1, soma 1 (vira 2), volta lá no topo e testa: "2 é menor ou igual a 10?". Como é verdadeiro, ele roda de novo. Ele fará isso sucessivamente até imprimir o 10. Quando virar 11, a condição se tornará falsa e o loop chegará ao fim.


Ajuste importante: Cuidado com as Aspas

Navegando pelo restante do seu código na imagem, notei que alguns outros desafios do capítulo ficaram com pequenos erros de digitação (sintaxe) que vão impedir o JavaScript de rodar o seu script corretamente.

O principal detalhe é o uso de aspas simples em testes lógicos e em f-strings (as chamadas template strings). Veja o que precisa ser corrigido:

Nas linhas 1 e 8 (Template Strings):
Para conseguir injetar variáveis dentro do texto usando ${var}, você não pode usar aspas simples ('). O JavaScript exige o uso do sinal de crase (```).

  • Incorreto (linha 8): console.log ('a soma de ${valor1}... ')
  • Correto: console.log(a soma de ${valor1} e ${valor2} é igual a ${resultado});

Nas linhas 11 e 25 (Condicionais):
Você colocou o nome das variáveis entre aspas simples: if ('idade' > 18) e if ('nota' > 7). Quando você coloca aspas, o JavaScript deixa de entender que aquilo é uma variável com um número dentro e passa a ler como um texto literal (as palavras "idade" e "nota"). Isso quebra o teste de maior ou menor.

  • Incorreto: if ('idade' > 18)
  • Correto: if (idade > 18)

Na linha 15:
Ficou um comando console.log incompleto e sem os parênteses no final. Você pode apagá-lo ou completá-lo para não gerar um erro no console do seu navegador.

Faça esses pequenos ajustes no seu arquivo app.js e teste rodar a página de novo. Ver o código funcionando sem erros na tela vai te ajudar bastante a fixar esses conceitos!

Espero que possa ter lhe ajudado!