1
resposta

não entendi a lógica do código

Boa tarde, não entendi esse +1 do código, já li alguns comentários no fórum mas mesmo assim não estou conseguindo compreender porque não pode ser apenas if (quantidade > (ate - de)) , fiz das duas formas e funciona.

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

1 resposta

Oi!

Vamos supor que uma pessoa digite no campo de o valor 10 e no campo até o valor 15.

Nesse caso, o cálculo ate - de vai dar 5, pois 15 - 10 é igual a 5.

Porém, o programa deveria considerar que são 6 números possíveis e não 5, pois os valores que podem ser sorteados são: 10, 11, 12, 13, 14, 15, ou seja, são 6 valores possíveis, pois tanto o 10 (valor mínimo) quanto o 15 (valor máximo) devem ser incluídos.

É justamente por isso que na lógica tem esse +1 (ate - de + 1), para que assim seja considerado a faixa de valores completa.

Espero que tenha ficado mais claro para você entender agora ;)

Bons estudos!