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

[Dúvida] Desafio Loops e Tentaticas (sugestão)

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:

  1. 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);
         }
     }
    
  2. 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)
         }
     }
    
  3. 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--;
             }
         }
     }
    
  4. 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.

1 resposta
solução!

Olá Pedro, como vai? Espero que esteja bem!

Fico feliz em ver que realizou a atividade, é isso aí! Continue se dedicando aos estudos e colocando em prática seus aprendizados.

Caso tenha dúvidas, fico à disposição.

Abraços e bons estudos!