1
resposta

[Dúvida] Se o número escolhido que começasse fosse negativo, como ficaria o programa?

No exercício proposto para criar um programa de contagem progressiva.
Peça um número e conte de 0 (zero) até esse número, usando um loop while no console do navegador:

Pois bem, se caso digitássemos qualquer Número Negativo (..., -x, -2, -1, -...), como poderíamos fazer um programa começando do 0 (zero) até esse número negativo digitado?

Eu fiquei com essa dúvida. Alguém sabe me responder?

//Crie um programa de contagem progressiva. Peça um número e conte de 0 até esse número,
// usando um loop while no console do navegador..
alert('Contagem Progressiva');

//contagem progressiva
let num = Number(prompt('Digite qualquer número:'));
let contagemProgr = 0;

// O loop continua enquanto a contagem regressiva não for igual a 0 (zero)
while(contagemProgr != num) {
console.log(contagemProgr);
alert(Contagem Progressiva: ${contagemProgr});
contagemProgr++;

}

alert('Fim');

Obrigado!!

1 resposta

Oi, Bruno, tudo bem?

Sua dúvida é excelente e muito pertinente! É ótimo ver que você está explorando os limites do código além do que foi proposto no exercício.

Indo direto ao ponto: seu código atual entra em um loop infinito com números negativos porque a variável contagemProgr começa em 0 e só aumenta (++). Ela nunca alcançará um número negativo dessa forma.

Para resolver isso, podemos verificar se o número é positivo ou negativo e então decidir se vamos contar para cima ou para baixo.

Veja como o programa ficaria:

alert('Contagem Progressiva ou Regressiva');

let num = Number(prompt('Digite qualquer número:'));
let contador = 0;

// Se o número for positivo, faz a contagem progressiva
if (num > 0) {
    while (contador <= num) {
        console.log(contador);
        contador++;
    }
// Se o número for negativo, faz a contagem regressiva
} else {
    while (contador >= num) {
        console.log(contador);
        contador--;
    }
}

alert('Fim');

Resumindo a mudança:

  • Se o número for positivo, o código incrementa o contador (contador++).
  • Se o número for negativo, o código decrementa o contador (contador--).

Dessa forma, o programa se torna capaz de lidar com as duas situações.

Espero ter ajudado! Bons estudos!

Sucesso

Imagem da comunidade