1
resposta

[Dúvida] Desafio 4

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade

  • Dúvida no exercício 8: Vi nas correções do instrutor que foi utilizado o parseFloat antes do prompt mas não entendi o porquê e com qual objetivo. Poderia ter sido usado o parseInt?

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeDúvida aplicável para exercício 12 e 13:

  • é realmente necessário criar uma variável definindo o valor máximo a ser gerado aleatoriamente ou apenas o fato de ter multiplicado por 10 ou 1000 e somado a 1 garante que o número máximo estará no intervalo determinado?

  • eu vi que poderia estar utilizando o Math.floor para garantir um número inteiro. Nesse caso do exercício, o parseInt é a melhor opção entre o Math.floor?

Obrigada <3

1 resposta

Oi Giullia, tudo bem? 😊

Vamos esclarecer suas dúvidas sobre o uso de parseFloat e parseInt, e a geração de números aleatórios.

  1. parseFloat vs parseInt:

    • O prompt sempre retorna uma string.
    • parseFloat converte a string para um número decimal (ponto flutuante).
    • parseInt converte a string para um número inteiro.
    • Se você espera receber um número com casas decimais, use parseFloat.
    • Se você espera receber apenas números inteiros, use parseInt.
    • No exercício 8, o instrutor usou parseFloat para permitir que o usuário insira números decimais.
    • Poderia ter usado parseInt se o objetivo fosse apenas números inteiros.
  2. Geração de números aleatórios:

    • Math.random() gera um número decimal entre 0 (inclusivo) e 1 (exclusivo).
    • Multiplicar por 10 (ou 1000) e somar 1 garante que o número esteja em um intervalo.
    • Por exemplo, Math.random() * 10 + 1 gera um número entre 1 e 11 (exclusivo).
    • Não é estritamente necessário criar uma variável para o valor máximo.
    • Você pode usar diretamente o valor desejado na multiplicação.
    • O uso de parseInt ou Math.floor garante que o número seja inteiro.
    • Ambos funcionam bem para esse propósito.
    • parseInt é mais direto quando você já tem uma string.
    • Math.floor é mais comum quando você tem um número decimal.

Exemplo prático:

// Usando parseFloat para permitir decimais
let numeroDecimal = parseFloat(prompt("Insira um número decimal:"));
console.log(numeroDecimal);

// Usando parseInt para garantir um inteiro
let numeroInteiro = parseInt(prompt("Insira um número inteiro:"));
console.log(numeroInteiro);

// Gerando um número aleatório entre 1 e 10 (inteiro)
let numeroAleatorio = parseInt(Math.random() * 10 + 1);
console.log(numeroAleatorio);

// Gerando um número aleatório entre 1 e 10 (inteiro) usando Math.floor
let numeroAleatorio2 = Math.floor(Math.random() * 10 + 1);
console.log(numeroAleatorio2);

🎓 Para saber mais:

Espero ter ajudado a esclarecer suas dúvidas! 🤔 Continue praticando e explorando o mundo da programação. 💪

📌 Nota: Otimize seus estudos com o guia "Como turbinar seus estudos utilizando o fórum" e insira o código usando a ferramenta do fórum. como inserir bloco de código

tux matrixCaso este post o tenha ajudado,marque-o como solucionado ☑️.Bons Estudos! 🤓