1
resposta

[Sugestão] Resolução Desafio 7: Hora da prática

Para executar os exercícios abaixo no console do navegador:

  1. Vá ao navegador e tecle F12
  2. Ou clique em cima de qualquer página renderizada no navegador com o botão direito do mouse;
    2.1 - Escolha a opção "Inspect" ou "Inspecionar";
  3. Opção "Console".
// 7. Desafio: hora da prática:
// 7.1 - Crie um contador que comece em 1 e vá até 10 usando um loop while. Mostre cada número.

let contador = 1;
while (contador <= 10) {
    console.log(contador);
    contador++;
}

// fim 7.1

// 7.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);
    contador--;
}

// fim 7.2

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

while (true) {

    inputValorInicial = prompt('Digite o valor inicial:');

    if (inputValorInicial === null) { // Verifica se o usuário cancelou
        alert("Contagem cancelada.");
        console.log("Entrada cancelada pelo usuário.");
        break;
    }

    inputValorInicial = parseInt(inputValorInicial, 10);
    if (!isNaN(inputValorInicial) && inputValorInicial > 0) {
        break; // Número válido, sai do loop
    }
    alert('Por favor, digite um número válido.');
}

if (inputValorInicial) {
    let contador = inputValorInicial;
    console.log(`Contando de forma regressiva de ${inputValorInicial} até 0:`);
    while (contador >= 0) {
        console.log(contador);
        contador--;
    }
}

// fim 7.3
// 7.3 / 7.4 
function iniciarContagem() {
    // Obter e validar o valor inicial
    let valorInicial;
    let contador;

    while (true) {
        const input = prompt('Digite um número positivo para iniciar a contagem:');
        
        // Verificar se usuário cancelou
        if (input === null) {
            console.log('Contagem cancelada pelo usuário.');
            return;
        }

        valorInicial = parseInt(input);
        
        // Validar se é um número positivo
        if (!isNaN(valorInicial) && valorInicial > 0) {
            break;
        }
        
        alert('Por favor, digite um número válido e positivo.');
    }

    // Obter direção da contagem
    const direcao = prompt('Digite:\n1 para contagem progressiva (1 até N)\n2 para contagem regressiva (N até 1)');
    
    // Verificar se usuário cancelou
    if (direcao === null) {
        console.log('Contagem cancelada pelo usuário.');
        return;
    }  

    // Realizar contagem baseada na escolha do usuário
    // 7.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.
    if (direcao === '1') {
        contador = 0;
        console.log(`\nContagem progressiva de 1 até ${valorInicial}:`);
        while (contador <= valorInicial) {
            console.log(contador);
            contador++;
        }
        // 7.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.        
    } else if (direcao === '2') {
        contador = valorInicial;
        console.log(`\nContagem regressiva de ${valorInicial} até 1:`);
        while (contador >= 0) {
            console.log(contador);
            contador--;
        }        
    } else {
        console.log('Opção inválida. Tente novamente.');
        return;
    }
    console.log('Contagem finalizada!');
}

// Iniciar o programa
iniciarContagem();

// fim 7.4 / 7.3
1 resposta

Oi, Andreza! Tudo bom?

Excelente! Siga praticando com os desafios e sempre compartilhe conosco.

Você soube elaborar estruturas de repetição para controlar o fluxo da contagem de forma eficiente, aproveitou o prompt() e alert() para criar uma interação amigável com o usuário e entendeu como o controle de fluxo com if e while é essencial para validar entradas e garantir a lógica correta do programa.

Permaneça postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Ícone de sugestão Para saber mais:

Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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