Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

1
resposta

[Sugestão] Minha resolução

Boa noite tentei fazer dessa forma, espero que esteja certo e que atenda os requisitos, caso tenha alguma melhoria ficaria grato em saber como fazer!

Para fazer as validações usei esses links:
https://www.w3schools.com/jsref/jsref_number.asp#gsc.tab=0
https://www.w3schools.com/jsref/jsref_parseint.asp
https://www.w3schools.com/jsref/jsref_isnan_number.asp

Atividade 1

//1.Crie um contador que comece em 1 e vá até 10 usando um loop while. Mostre cada número.

function contadorWhile () {

    alert("Crie um contador que comece em 1 e vá até 10 usando um loop while. Mostre cada número.");

    let contador = 1;

    while(10 >= contador) {
        console.log(`contador: ${contador}`);
        contador ++;
        
    }
        
}
contadorWhile();

Atividade 2


function contadorNegativo () {

    alert("2.Crie um contador que começa em 10 e vá até 0 usando um loop while. Mostre cada número.")

    let contador = 10;

    while( contador >= 0 ) {
        console.log(`Contador em: ${contador}`);
        contador --;
        
    }
    
}
contadorNegativo();

Atividade 3

//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.

function loopInverso () {

    alert("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.")

    let contador = Number.parseInt(prompt("Informe um numero entre 1 e 10 para a contegem regressivas!"));

    if (contador <= 0 || contador > 10 || isNaN(contador) === true) {
        alert(`Informe outro numero, pois o numero digitado: ${contador}, não se adequa aos parametros;\nTente novamente!`)
        return loopInverso();

    } else {

        while( contador >= 0) {
    
            console.log(`numero ${contador}`);
            contador --;
            
        }
    }
    
}
loopInverso();

Atividade 4

//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.

function contadorWhile () {

    alert("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.")

    let numero = Number.parseInt(prompt("Informe um um numero até Dez para o contador."));

    //let inicio = Number(0); assim tambem funciona, mas não é necessario. Fiz apenas para testar.
    let inicio = 0 ;

    
    if (numero > 10 || numero <= 0 || isNaN(numero) === true) {
        
        console.log(` o numero digitado foi ${numero}`);
        alert("O valor digitado não se esta adequado ao solicitado\nTente novamente");
        return contadorWhile();
        

    } else {

        while( inicio <= numero) {
    
            console.log(`Contador: ${inicio}`);
            inicio ++;
        }
    }
        
}
contadorWhile();

Fiz em forma de função para ter um retorno até que a condição seja realizada.

Fiz em arquivos separados para chamar no meu index do html ficando dessa forma da imagem, ficando de uma forma organizada para poder realizar o commit

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

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@700&family=Inter:wght@400;700&display=swap"
        rel="stylesheet">
    <link rel="stylesheet" href="style.css">
    <title>JS Game</title>
</head>

<body>
    <div class="container">
        <div class="container__conteudo">
            <img src="./img/robot.png" alt="robô mergulhador" class="container__imagem-robo" />
            <div class="container__informacoes">
                <img src="./img/trophy.png" alt="ícone de um troféu" />
                 <div class="container__texto">
                    <h1>Você <span class="container__texto-azul">acertou!</span></h1>
                    <h2>Você descobriu o número secreto!</h2>
                </div>
            </div>
        </div>
    </div>
    
    <script src="Atividades/lista_Atividades_03/atividade_01.js"></script>
    <script src="Atividades/lista_Atividades_03/atividade_02.js"></script>
    <script src="Atividades/lista_Atividades_03/atividade_03.js"></script>
    <script src="Atividades/lista_Atividades_03/atividade_04.js"></script>
 
</body>

</html>

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Olá, Pedro, como vai?

A estrutura das funções está clara, a lógica dos loops está coerente e a validação de entrada nas atividades ficou bem aplicada. A organização em arquivos separados também mostra um cuidado interessante com a estrutura do projeto.

Observando o código, não encontrei inconsistências que prejudiquem o funcionamento. Um ponto que você pode considerar como melhoria é evitar repetir o nome de funções quando elas têm finalidades diferentes, como no caso de duas funções chamadas contadorWhile. Isso ajuda a manter o código mais legível e reduz possíveis conflitos caso tudo seja executado no mesmo escopo. Algo como contadorProgressivo e contadorAteDez já daria mais clareza.

No mais, parabéns pelo cuidado, pelos testes e por explorar validações adicionais. Obrigado por compartilhar sua solução e continue trazendo seus códigos aqui. O fórum está à disposição.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!