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

[Projeto] Creio que consegui!

//Crie um programa que utilize o console.log para exibir uma mensagem de boas-vindas.
console.log("Seja bem-vinda!");

//Crie uma variável chamada "nome" e atribua a ela o seu nome. Em seguida, utilize o 
// console.log para exibir a mensagem "Olá, [seu nome]!" no console do navegador.
let nome = "Nathália";
console.log("Olá, " + nome + "!");

//Crie uma variável chamada "nome" e atribua a ela o seu nome. 
//Em seguida, utilize o alert para exibir a mensagem "Olá, [seu nome]!" .
alert("Olá, " + nome + "!");

//Utilize o prompt e faça a seguinte pergunta: Qual a linguagem de programação que 
// você mais gosta?. Em seguida, armazene a resposta em uma variável e 
// mostre no console do navegador.
let linguagem = prompt("Qual a linguagem de programação que você mais gosta?");
console.log("A linguagem favorita é: " + linguagem);

//Crie uma variável chamada "valor1" e outra chamada "valor2", atribuindo a elas 
// valores numéricos de sua escolha. Em seguida, realize a soma desses dois valores e 
// armazene o resultado em uma terceira variável chamada "resultado". 
// Utilize o console.log para mostrar a mensagem "A soma de [valor1] e [valor2] é igual 
// a [resultado]." no console.
let valor1 = 10;
let valor2 = 25;
let resultado = valor1 + valor2;
console.log("A soma de " + valor1 + " e " + valor2 + " é igual a " + resultado + ".");

//Crie uma variável chamada "valor1" e outra chamada "valor2", atribuindo a elas 
// valores numéricos de sua escolha. Em seguida, realize a subtração desses dois valores 
// e armazene o resultado em uma terceira variável chamada "resultado". 
// Utilize o console.log para mostrar a mensagem "A diferença entre [valor1] e [valor2] 
// é igual a [resultado]." no console.
let valor3 = 50;
let valor4 = 20;
let resultadoSubtracao = valor3 - valor4;
console.log("A diferença entre " + valor3 + " e " + valor4 + " é igual a " + resultadoSubtracao + ".");

//Peça ao usuário para inserir sua idade com prompt. 
// Com base na idade inserida, utilize um if para verificar se a pessoa é maior 
// ou menor de idade, exibindo uma mensagem apropriada no console.
let idade = prompt("Por favor, insira sua idade:");
if (idade >= 18) {
    console.log("Você é maior de idade.");
} else {
    console.log("Você é menor de idade.");
}

//Crie uma variável "numero" e peça um valor com prompt verifique se é positivo, 
// negativo ou zero. Use if-else para imprimir a respectiva mensagem.
let numero = prompt("Por favor, insira um número:");
if (numero > 0) {
    console.log("O número é positivo.");
} else if (numero < 0) {
    console.log("O número é negativo.");
} else {
    console.log("O número é zero.");
}   

//Use um loop while para imprimir os números de 1 a 10 no console.
let contador = 1;
while (contador <= 10) {
    console.log(contador);
    contador++;
}           

//Crie uma variável "nota" e atribua um valor numérico a ela. 
// Use if-else para determinar se a nota é maior ou igual a 7 e exiba 
// "Aprovado" ou "Reprovado" no console.
let nota = 8;
if (nota >= 7) {
    console.log("Aprovado");
} else {
    console.log("Reprovado");
}   

//Use o Math.random para gerar qualquer número aleatório e exiba esse número no console.
let numeroAleatorio = Math.random();
console.log("Número aleatório gerado: " + numeroAleatorio);

//Use o Math.random para gerar um número inteiro entre 1 e 10 e exiba esse número no console.
let numeroInteiro = Math.floor(Math.random() * 10) + 1;
console.log("Número inteiro aleatório entre 1 e 10: " + numeroInteiro); 

//Use o Math.random para gerar um número inteiro 
// entre 1 e 1000 e exiba esse número no console.
let numeroInteiro1000 = Math.floor(Math.random() * 1000) + 1;
console.log("Número inteiro aleatório entre 1 e 1000: " + numeroInteiro1000);   

Consegui fazer o exercício, a parte do while e o math.random eu tive que pesquisar porque ainda não consegui fixar.
Apareceu mais uma ''feramenta'' que foi o Math.floor e fiquei com bastante dúvida no final.
Se alguém conseguir me explicar ou colocar o link do Mozilla para que eu possa pesquisar o que essa ferramenta faz.

Agradeço desde já!

3 respostas
solução!

Oii, Nathália! Tudo bem?

Parabéns pela dedicação em resolver a lista de exercícios! Fico muito feliz em ver que você não só fez o código, mas também foi atrás de pesquisar o que não sabia. Pesquisar a documentação e buscar soluções é a habilidade mais importante de uma pessoa desenvolvedora, então você já tá no caminho certo!

Seu código tá muito bem estruturado e a lógica tá correta. Sobre a sua dúvida específica, vamos lá:

Entendendo oMath.floor():

Você usou o Math.floor() corretamente nos seus exemplos. O nome "floor" em inglês significa "chão". Na programação, essa função serve para arredondar um número para baixo, ou seja, para o número inteiro mais próximo.

Imagine que ele "corta" tudo o que vem depois da vírgula.
Por exemplo:

  • Math.floor(5.9) vira 5
  • Math.floor(2.1) vira 2

Por que usamos ele junto com o Math.random()?

O Math.random() sozinho gera um número "quebrado" (decimal) entre 0 e 1 (ex: 0.5432...). Quando queremos fazer um sorteio (como um dado de 6 lados ou um número de 1 a 10), precisamos de números inteiros.

A lógica que você encontrou faz o seguinte passo a passo:

  1. Math.random() * 10: Pega o número 0.algumacoisa e multiplica por 10. O resultado pode ser algo como 9.876.
  2. Math.floor(...): Pega esse 9.876 e arredonda para baixo, transformando em 9.
  3. + 1: Como o computador conta a partir do 0, somamos 1 para garantir que o resultado final seja entre 1 e 10.

Documentação (MDN)

Como você pediu, aqui tá o link oficial da Mozilla (MDN):

Continue praticando! O while e o Math.random ficam mais naturais conforme você os usa em outros desafios.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Eu adorei a sua explicação. Muito obrigada!!

Invés do Math.floor eu poderia ter utilizado o parseInt?

Oii, Nathália! Fico muito contente que a explicação tenha feito sentido para você.

A resposta curta é: Sim, neste caso específico do exercício, o parseInt funcionaria perfeitamente!

Vou te explicar o porquê e a pequena diferença entre eles para você ter no seu radar:

O que o parseInt faz?

O parseInt (Parse Integer) analisa um valor e tenta transformá-lo em um número inteiro, simplesmente "jogando fora" a parte decimal.

No caso do número aleatório positivo:

  • Math.floor(5.99): Arredonda para baixo -> Resultado: 5
  • parseInt(5.99): Corta a parte decimal -> Resultado: 5

Para o nosso gerador de números aleatórios (que são sempre positivos), os dois dão o mesmo resultado!

Por que geralmente usamos Math.floor nesse caso?

É mais uma questão de boas práticas e semântica (o significado do código):

  1. Ferramenta certa para o trabalho: O Math.floor é uma função matemática feita especificamente para cálculos numéricos. O parseInt foi criado principalmente para converter textos (strings) em números (ex: transformar o texto "10px" no número 10).
  2. Comportamento com negativos: Se um dia você trabalhar com números negativos, eles agem diferente.
  • Math.floor(-5.9) vai para -6 (porque -6 é menor/mais baixo que -5.9).
  • parseInt(-5.9) vai para -5 (ele só ignora o decimal).

Continue com essa curiosidade, está mandando muito bem.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!