2
respostas

[Dúvida] Inclusivo e exclusivo

Olá! Eu vi esta dúvida em outro tópico, mas não consegui compreender a explicação.

1° Exemplo

numeroAleatorio1a3 = parseInt(Math.random() * 3 +  1);

1 (inclusive) até 4 (exclusivo). Eu multiplico o valor aleatório por 3, somo com 1 e depois faço a conversão para um número inteiro. O Math.random arrendonda para o número 4 e ele passa a fazer parte da relação ou o 4 realmente é exclusivo?

2° Exemplo

2° - numeroAleatorio1a3 = parseInt(Math.random() * 3)+ 1;

1 (inclusive) até 3 (inclusive). Existe essas três possibilidades: 1,2 e 3.

Se o número 4 for exclusivo, qual a diferença entre usar uma expressão e outra?

2 respostas

1° exemplo: Ao adicionar 1 (Math.random() * 3 + 1), você ajusta o intervalo para ser entre 1 (inclusivo) e 4 (exclusivo), o que significa que os valores podem ser 1, 2, 3, mas nunca 4.Portanto, o número 4 não está dentro do intervalo possível de valores que numeroAleatorio1a3 pode ter.

2° Exemplo: Se você não adicionar o + 1, o número que irá se tornar exclusivo será o 3, fazendo com que inclua(seja inclusivo) apenas até o 2.

Isso acontece porque o +1 serve para mostrar o ponto de partida, por exemplo, se você quisesse rodar um número de 5 a 7 você teria que fazer (Math.random() * 3 + 5)

Sempre leve em consideração que para o computador o ponto de partida é o 0, por isso, + 1.

Eu consegui compreender a utilização de somar com + 1

Mas não existe diferença entre usar uma expressão e outra, pois no fim o 4 nunca entra como possibilidade. Certo?