1
resposta

[Dúvida] Diferença do código da aula

No código da aula, está da seguinte maneira: let numeroSecreto = parseInt(Math.random()*100+1); com a soma logo após a multiplicação

Já na questão, está assim: let numeroAleatorio1a3 =parseInt(Math.random() * 3) + 1; com a soma após a operação parseInt()

Há alguma razão para essa diferença e influencia em algo no processamento do código?

1 resposta

Olá, Antônia! Tudo bem?

A diferença que você notou nos dois códigos está na ordem em que a soma é aplicada em relação à função parseInt(). Vamos analisar cada um deles:

  1. Código da aula:

    let numeroSecreto = parseInt(Math.random() * 100 + 1);
    

    Neste caso, a soma de 1 é feita antes da conversão para inteiro. Isso significa que o resultado da multiplicação Math.random() * 100 (que gera um número entre 0 e 99.999...) tem 1 adicionado a ele antes de ser convertido para um número inteiro. Assim, o número final será entre 1 e 100.

  2. Código da questão:

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

    Aqui, o número gerado por Math.random() * 3 é convertido para um inteiro primeiro, resultando em um número entre 0 e 2. Depois disso, 1 é adicionado, o que ajusta o intervalo final para entre 1 e 3.

A diferença na ordem das operações afeta o intervalo dos números gerados. No primeiro exemplo, a soma é feita antes da conversão, enquanto no segundo, a soma é feita depois. Isso é importante para garantir que o número gerado esteja no intervalo desejado.

Espero ter ajudado e bons estudos!

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