Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Numero Sorteado é maior que o limite inserido

Olá,

Meus números sorteados estão maiores que o limite do número inserido: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Meu código:

function sortear() {
let quantidade = document.getElementById ('quantidade').value;
let de = document.getElementById ('de').value;
let ate = document.getElementById ('ate').value;

let sorteados = [];
let numero;

for (let i = 0; i < quantidade; i++) {
    numero = obterNumeroAleatorio (de, ate);
    sorteados.push(numero);
}

alert (sorteados);

}

function obterNumeroAleatorio(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}
2 respostas
solução!

Olá Jaqueline,

Pelo que vejo, os números sorteados estão saindo fora do intervalo especificado. Isso geralmente ocorre quando os valores de entrada não são convertidos corretamente para números inteiros ou quando a lógica de sorteio não está correta.

Vamos revisar e corrigir seu código:

  1. Certifique-se de converter os valores de entrada para inteiros usando parseInt.
  2. Verifique a função obterNumeroAleatorio para garantir que ela está retornando números dentro do intervalo especificado.

Aqui está o código corrigido:

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

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

Explicação:

  1. Conversão para Inteiros:

    • parseInt(document.getElementById('quantidade').value)
    • parseInt(document.getElementById('de').value)
    • parseInt(document.getElementById('ate').value)

    Isso garante que os valores lidos dos inputs sejam tratados como números inteiros.

  2. Função obterNumeroAleatorio:

    • Math.floor(Math.random() * (max - min + 1)) + min

    Esta função gera um número aleatório entre min e max, inclusive.

Com essas correções, os números sorteados devem estar dentro do intervalo especificado.

Espero ter ajudado e bons estudos!

Deu Certo!

Muito obrigada :)