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

Mão na massa: proteção no total de números sorteados

Para resolução do problema, acabei fazendo um pouco diferente da resolução proposta pelo instrutor. Gostaria de saber se a forma que escolhi acabou seguindo as regras de código mais "limpo":

Indicação do instrutor:

if (quantidade > (ate - de + 1)) {
    alert('Campo "Quantidade" deve ser menor ou igual ao intervalo informado no campo "Do número" até o campo "Até o número". Verifique!');
    return;
  }

Optei por uma variável simples (Intervalo) que fizesse o mesmo cálculo junto à função sortear no início do programa :

function sortear() {
    let quantidade = parseInt(document.getElementById('quantidade').value);
    let de = parseInt(document.getElementById('de').value);
    let ate = parseInt(document.getElementById('ate').value);
   **let intervalo = ate - de + 1;**
    

No caso o Instrutor complementa com:

if (de >= ate) {
    alert('Campo "Do número" deve ser inferior ao campo "Até o número". Verifique!');
    return;
  }

Eu termino fazendo um if (limpando os campos com reiniciar e retornando para que o usuário corrija as entradas para evitar o conflito):

if (quantidade > intervalo){
        alert('A quantidade de números a sortear é maior que o intervalo selecionado');
        reiniciar();
        return;
1 resposta
solução!

Oi Cristian!

Que bom que você está explorando diferentes abordagens para resolver o problema, seu código ficou show, meus parabéns!

Ambas as abordagens são válidas e seguem boas práticas de programação. A diferença principal é que você está utilizando uma variável intermediária (intervalo) para armazenar o cálculo, o que pode tornar o código um pouco mais legível, especialmente se o cálculo do intervalo for reutilizado em outros pontos do código.

Achei muito inteligente da sua parte, continue praticando e explorando!

Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!