Fiz em forma de funções para facilitar na hora de testar e é um forma de praticar, tentei fazer umas validações tambem, algumas utilizando recursos já existentes e nativos do javascript, desta forma creio que ficaria assim:
Crie um contador que comece em 1 e vá até 10 usando um loop while. Mostre cada número.
const desafio1 = () => { const final = 10; let contador = 0; while (contador < final) { contador++; console.log(contador); } }
Crie um contador que começa em 10 e vá até 0 usando um loop while. Mostre cada número.
const desafio2 = () => { let contador = 11; const final = 0; while (contador > final) { contador--; console.log(contador) } }
Crie um programa de contagem regressiva. Peça um número e conte deste número até 0, usando um loop while no console do navegador
const desafio3 = () => { let numeroInformado = prompt("Informe um numero para a contagem regressiva: "); const numZero = 0; if (isNaN(numeroInformado)){ alert("Informe um numero valido!" + "\n" + "Tente novamente!"); return desafio3(); }else if(numeroInformado == null || numeroInformado === " "){ alert( " Espaço em branco" + "\n" + "Tente novamente!") return desafio3() }else if(numeroInformado < numZero){ alert("Informe um numero maior que '0' " + "\n" + "Tente novamente!" ); return desafio3(); }else if(numeroInformado == numZero){ alert("O numero 0 não é valido para essa contagem" + "\n" + "Por favor, informe um valor maior que '0'" ) return desafio3() }else{ let contador = numeroInformado; while((contador)>= numZero){ console.log('===================================='); console.log(contador); console.log('===================================='); contador--; } } }
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.
const desafio4 = () => { let numeroUsuario = prompt("Informe um numero: "); let inicio = 0; if(isNaN(numeroUsuario)){ alert("Ops! \nVoce informou uma letra e não um numero. \nTente Novamente!"); return desafio4(); }else if(numeroUsuario === null || numeroUsuario === " "){ alert("Voce informou NADA, tente novamente"); return desafio4(); }else if(Number(numeroUsuario) <= inicio){ alert(`Informe um numero maior que ${inicio}`); return desafio4(); } else{ while(numeroUsuario >= inicio){ console.log(inicio); inicio++; } } }
Desafio Loop Infinito: Willian está iniciando no mundo da programação e recentemente descobriu que existe uma maneira de executar um bloco de comandos repetidamente enquanto uma condição pré-estabelecida não for satisfeita. Animado com as possibilidades, ele decidiu treinar a utilização da estrutura while() em um projeto pessoal, de cálculo de médias aritméticas. No entanto, acabou se deparando com um loop infinito, e não conseguiu descobrir o por quê. Sabendo que você também está estudando lógica de programação, Willian pediu sua ajuda para localizar onde está o erro em seu código:
const loopInfinito = () => {
let qtdNumeros = prompt('Digite a quantidade de números para o cálculo da média:');
let soma = 0;
let contador = qtdNumeros;
if (isNaN(contador)) {
alert("Valor inválido! Por favor, digite um número, e não uma letra.");
return loopInfinito();
} else if (contador == 0 || contador < 0|| contador == '' || contador == null) {
alert("Valor inválido! Por favor, digite um número novamente.");
return loopInfinito();
} else {
while (contador > 0) {
let numero = parseInt(prompt('Digite o numero:'));
if(isNaN(numero)){
alert("Valor Inválido ou campo vazio! Digite apenas valores numericos! ");
}else if(numero < 0) {
alert("Valor NEGATIVO tente novamente!")
}else{
soma += numero;
contador--;
}
}
let media = soma / qtdNumeros;
alert(`A média é ${media}`);
}
}
Espero que esteja correto, e que possa ajudar alguem a solucionar o problema.
obs.: deixei alguns console.log( ) propositalmente para que caso alguem use de apoio possa ver o resultado.