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

[Dúvida] Qual método devo usar WHILE ou FOR?

Olá, pessoal!

Durante um desafio de lógica de programação, desenvolvi minha própria solução com base no que aprendi até agora. Testei meu código, ele funcionou como esperado e consegui concluir o desafio com sucesso. No entanto, ao assistir à solução apresentada no curso, percebi que usaram uma abordagem bem diferente da minha.

No meu caso, utilizei um loop while para gerar os números e exibi-los diretamente na tela. Já no curso, a solução utilizou um loop for armazenando os valores em um array antes de exibi-los.

Minha versão é mais simples e funcional, mas fiquei com a dúvida: • Meu método está errado? • Preciso refazer para seguir exatamente a abordagem do curso? • Ou posso continuar usando a lógica que desenvolvi?

Meu método:

function sortear() {
    let minQuantidade = 1;
    let resultado = document.getElementById('resultado');

    let quantidade = parseInt(document.getElementById('quantidade').value);
    let de = parseInt(document.getElementById('de').value);
    let ate = parseInt(document.getElementById('ate').value);

    resultado.innerHTML = "";

    while (minQuantidade <= quantidade) {

        let numeroSorteado = Math.floor(Math.random() * (ate - de + 1) + de);
        minQuantidade++;
        resultado.innerHTML += numeroSorteado + " ";
    }
}

Método ensinado no curso:

function obterNumeroAleatorio(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}

function sortear(){
    let quantidade = parseInt(document.getElementById('quantidade').value);
    let de = parseInt(document.getElementById('de').value);
    let ate = parseInt(document.getElementById('ate').value);
    
    let sorteados = [];
    let numero;
    
    for (let i = 0; i < quantidade; i++) {
        numero = obterNumeroAleatorio(de, ate);
        sorteados.push(numero);
    }
    
    alert(sorteados);
}
1 resposta
solução!

Oi Ricardo, tudo bem? 😊

Fico feliz que você tenha conseguido desenvolver sua própria solução para o desafio! 🙂

Isso demonstra que você está aplicando o conhecimento adquirido e desenvolvendo suas habilidades de lógica de programação.

Sua solução com o loop while está correta e funcional.

Não há necessidade de refazer para seguir exatamente a abordagem do curso.

Ambas as soluções, a sua com while e a do curso com for, são válidas e atingem o mesmo objetivo.

A escolha entre while e for muitas vezes depende da preferência pessoal e do contexto do problema.

O while é geralmente usado quando não sabemos de antemão quantas iterações serão necessárias, enquanto o for é mais adequado quando sabemos o número exato de iterações.

No seu caso, como você sabe a quantidade de números a serem sorteados, tanto o while quanto o for funcionam bem.

Continue usando a lógica que você desenvolveu, pois ela é válida e eficiente! 👍

O importante é que você continue praticando e explorando diferentes formas de resolver problemas, pois isso contribui para o seu aprendizado e desenvolvimento como programador.

🎓 Para saber mais: