Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Dúvida] Loop Infinito

Pessoal, estou com uma dúvida bem de iniciante,

Como eu faço pra executar os códigos dos exercícios, até agora não consegui,


let qtdNumeros = prompt('Digite a quantidade de números para o cálculo da média:');
let soma = 0;
let contador = qtdNumeros;

while(contador > 0){
    let numero = parseInt(prompt('Digite o numero:'));
    soma += numero;
}

let media = soma / qtdNumeros;

console.log(media);

Por exemplo o desse exercício, como eu consigo executar ele pra saber onde tá errado, fazer testes, alterações.. Tentei pelo node no powershell do VSCode Insira aqui a descrição dessa imagem para ajudar na acessibilidadeTentei pelo cmd, pensando que posso não ter alguma extensão ou ter configurado o VSCode corretamente Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Desculpa se sou muito leigo ainda no assunto, mas como posso executar esses códigos e ver se ta batendo as alterações que eu faço?

Gostaria de executa-lo no Chrome se possível, como no jogo do número que estamos fazendo nas aulas do Iniciando em Programação, é possível isso?

Muito obrigado.

3 respostas

O prompt só vai funcionar se estiver rodando o código num navegador. Se estiver rodando pelo vscode ele não consegue exibir o prompt. Vc pode passar valores fixos se estiver no vscode, para ver se seu programa funciona.

Para usar o prompt, vc precisaria carregar o seu arquivo .js em uma página index.html e abrir ela no seu navegador. Um jeito mais fácil é rodar seu código em sites como o https://jsitor.com/ ou https://jsfiddle.net/.

Porém, antes de fazer isso, estou vendo que seu código vai gerar um loop infinito dentro do while. Vc precisa garantir que a condição do seu while em algum momento vai ser falsa, para não ficar preso no loop. Sua condição é que a variável contador seja maior que 0. Ela sempre vai ser maior que 0 pois dentro do while vc não está decrementando ela, então ele vai ficar no loop para sempre, perguntando o próximo número a ser digitado.

Tenha certeza de colocar para diminuir o valor do contador, se não, ele sempre vai ser maior que 0 e nunca vai sair do while:

while(contador > 0) {
    let numero = parseInt(prompt('Digite o numero:'));
    soma += numero;
    contador--;
}

Oi Francielle,

Obrigado por recomendar os sites que rodam os arquivos .js, vai facilitar muito.

Mas como posso carregar o arquivo .js em uma página index.htm? Essa era a minha dúvida. Estou muito no início para fazer tal coisa ou você pode me explicar uma maneira de faze-lo?

E sobre o código, sim ele está em loop infinito, faz parte do exercício e obrigado também por me ajudar a soluciona-lo.

solução!

Vc pode criar um arquivo index.html na mesma pasta do seu arquivo js com o seguinte conteúdo:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Meu exercício</title>
</head>
<body>
    <h1>Rodando meu exercício de Loop</h1>
</body>
<script src="index.js"></script>
</html>

Na linha onde tem o script src vc coloca o nome do seu arquivo .js, ele deverá rodar seu código automaticamente e aparecer os prompts pedindo os números. Pode então abrir o arquivo html no seu navegador de preferência.

Pra vc conseguir ver o console no navegador, precisa abrir o modo de desenvolvedor no seu navegador (geralmente é a tecla F12 ou CTRL + Shift + I) e ir na aba console.