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);
}