Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Resolução atividades lógica de programação desafio 3

//Crie uma função que calcule o índice de massa corporal (IMC) de uma pessoa, a partir de sua altura, em metros, e peso, em quilogramas, que serão recebidos como parâmetro.

Tive um pouco de dificuldade devido ao fato de não aceitar o peso em metros se ele é dividido por vígula (Ex: 1,75 e não 1.75) é assim mesmo ou tem alguma forma de contornar usando o vírgula?

alert ('Olá, vamos calcular seu IMC (Índice de massa corporal) ?');

function IMC (peso, altura){
    let resultado = peso/(altura*altura);
    let numeroFormado = resultado.toFixed(2);
    return (numeroFormado);
}

let pedirPeso = prompt('Qual é seu peso, em quilogramas?');
let pedirAltura = prompt('Qual é sua altura em Metros?(Não se esquece de colocar o ponto para os centímetros');

IMC(pedirPeso, pedirAltura);

let resultadoFinal = IMC(pedirPeso, pedirAltura);

alert(`Seu IMC é de ${resultadoFinal}!`);

//Crie uma função que mostre na tela a área e o perímetro de uma sala retangular, utilizando altura e largura que serão dadas como parâmetro.

//calculo de area a perimetro

alert('Olá, vamos calcular o perímetro e área de um retângulo');

let dadoAltura = parseInt(prompt('Me diga a altura do seu retângulo'));
let dadoLargura = parseInt(prompt('Agora a largura'));

function area (altura, largura){
    let resultado1 = altura*largura;
    return resultado1;
}

function perimetro (altura, largura){
    let resultado2 = (altura*2) + (largura*2);
    return resultado2;
}

area(dadoAltura, dadoLargura);
perimetro(dadoAltura, dadoLargura);

let resultadoArea = area(dadoAltura, dadoLargura);
let resultadoPerimetro = perimetro(dadoAltura, dadoLargura);

alert (`A área do seu retângulo é de ${resultadoArea} e o perímetro é de ${resultadoPerimetro}`);

//Crie uma função que mostre na tela a área e o perímetro de uma sala circular, utilizando seu raio que será fornecido como parâmetro. Considere Pi = 3,14.

//calculo de perímetro e area de um circulo
//calculo de area = PI * raio ao quadrado
//calculo do perimetro = 2 * PI * raio

alert('Vamos descobrir o perímetro e área de um círculo');

let raioConverter = parseInt(prompt('Qual é o diâmetro do círculo?'))/2;
//calculo do raio = diametro / 2

function area (raio){
    let resultado1 = (3.14 *(raio*raio));
    let doizZeros = resultado1.toFixed(2);
    return doizZeros;
}

area(raioConverter);

function perimetro(raio){
    let resultado2 = (2*3.14*raio);
    let doizZeros = resultado2.toFixed(2);
    return doizZeros;
}

perimetro(raioConverter);

let resultArea = area(raioConverter);
let resultPerimetro = perimetro(raioConverter);

alert(`A área de seu circulo é ${resultArea} e o perímetro ${resultPerimetro}`);

//Crie uma função que mostre na tela a tabuada de um número dado como parâmetro. Aqui quis dar uma diversificada usando o Math.random pra praticar

function tabuada (numero){
for (let n = 0; n <= 10; n++){
    let multiplicando = numero*n;
    console.log(`${numero} X ${n} = ${multiplicando}`);
}
}

let numeroAMultiplicar = parseInt(Math.random()*100);
    console.log(`Numero gerado: ${numeroAMultiplicar}`);

tabuada(numeroAMultiplicar);

//Crie uma função que calcule o valor do fatorial de um número passado como parâmetro. Esse pra mim foi o mais díficil, pois de início pensei em estabelecer o i como o valor de n, e a cada iteração dimminuir 1 até chegar em 1, porém ele não funcionava como funcionou desta forma aplicada. Não tinha aprendido ainda o uso do FOR, então vim ver o fórum para ver as resoluções, me deparei com uso dele na maioria delas e fui aprender, fiz o uso também para a tabuada

// calculo de fatorial
let numeroDadoParaFatorar = parseInt(prompt('Me dê um número para ser fatorado'));

function calculoFatorial (n){
    if(numeroDadoParaFatorar === 0||numeroDadoParaFatorar === 1){
        return (1);
    }
    let fatorial = 1;
    for(let i = 2 ; i <= n; i++){
        return (fatorial*= i) ;
    
    }
}

calculoFatorial (numeroDadoParaFatorar);


1 resposta
solução!

Olá João! Tudo certo?

Em linguagens de programação, como JavaScript, os números decimais são representados com pontos, não com vírgulas. Portanto, ao receber entradas do usuário, como altura, é importante garantir que o formato esteja correto.

Para contornar essa questão, você pode substituir a vírgula por um ponto antes de usar o valor na sua função. Aqui está um exemplo de como você pode fazer isso:

alert('Olá, vamos calcular seu IMC (Índice de massa corporal)?');

function IMC(peso, altura) {
    let resultado = peso / (altura * altura);
    let numeroFormado = resultado.toFixed(2);
    return numeroFormado;
}

let pedirPeso = prompt('Qual é seu peso, em quilogramas?');
let pedirAltura = prompt('Qual é sua altura em metros? (Você pode usar vírgula ou ponto para os centímetros)');

// Substitui a vírgula por ponto, caso o usuário insira a altura com vírgula
pedirAltura = pedirAltura.replace(',', '.');

let resultadoFinal = IMC(pedirPeso, pedirAltura);

alert(`Seu IMC é de ${resultadoFinal}!`);

Neste exemplo, a função replace(',', '.') é utilizada para garantir que qualquer vírgula inserida pelo usuário seja convertida em ponto, permitindo que o cálculo seja realizado corretamente.

Espero ter ajudado e bons estudos!

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