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

desafio: hora da prática 3

1- 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.


function calculoImc(){
    let peso = prompt('Insira seu peso em kg:');
    let altura = prompt('Insira sua altura em metros:');
    let imc = peso / (altura * altura);
    return imc;
}
let resultado = calculoImc().toFixed(1);
alert(`Seu imc é ${resultado}`);

3- Crie uma função que converte um valor em dólar, passado como parâmetro, e retorna o valor equivalente em reais. Para isso, considere a cotação do dólar igual a R$4,80.

function dolarEmReal(){
    var dolar = 4.80;
    var valor = prompt('Insira o valor em dolar a ser convertido:');
    var conver = dolar * valor;
    return conver;
}
var resultado = dolarEmReal().toFixed(2);
alert(`Valor convertido é: R$ ${resultado}`);

4- 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.

function area(){
    let b = prompt('Insira o valor da base:');
    let a = prompt('Insira a altura:');
    let t = b * a;
    let i = 2 * (parseInt(b) + parseInt(a));
    return [t, i];

}
console.log(`Valor da área e perímetro: ${area()}`);

5- 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.

function area(){
    let r = prompt('Insira o valor da área:');
    let valorArea = 3.14 * Math.pow(r, 2);
    let valorPerimetro = 2 * 3.14 * r;
    return [valorArea.toFixed(2), valorPerimetro];

}
alert(`Valor da área e perímetro: ${area()}`);

Ainda estou tentando compreender a lógica para as funções valor do fatorial e tabuada... assim que quebrar a cabeça e entender como cria-los, posto aqui.

3 respostas

Oi Daniel! Tudo bem?

Analisando seus códigos, posso dizer que você fez um excelente trabalho. Todos os códigos estão corretos e seguem as instruções do desafio.

Então, continue com o bom trabalho e não hesite em pedir ajuda sempre que precisar.

Bons estudos!

2- Crie uma função que calcule o valor do fatorial de um número passado como parâmetro.

function fatorial(numero){
    let a = 1
    for(let b = numero; b > 1; b--){
        a *= b;
    }
    return a;
}
numero = prompt('Insira um número:');
alert(`Fatorial de ${numero} é ${fatorial(numero)}`);

6- Crie uma função que mostre na tela a tabuada de um número dado como parâmetro.

function tabuada(numero) {
    for(let delimitador = 1; delimitador <= 10; delimitador ++){
        let resultado = delimitador * numero;
        console.log(`${numero} x ${delimitador} = ${resultado}`);
    }
}
let numero = prompt('Insira um número:');
tabuada(numero)

Existe alguma forma de imprimir a tabuada completa em um alert?

Outra dúvida... recomendam ou indicam algum conteúdo para maior compreensão de como trabalhar com funções? Ainda sinto muito dificuldade sobre o assunto.

solução!

Bom dia, Daniel! Peço desculpa pela demora.

Vamos abordar suas dúvidas e fornecer algumas sugestões para melhorar sua compreensão sobre funções em JavaScript.

  1. Função para calcular o fatorial de um número

    A função que você forneceu para calcular o fatorial está correta. Aqui está um pequeno ajuste para lidar com possíveis entradas inválidas e garantir que o número passado é um inteiro positivo:

    function fatorial(numero) {
        if (numero < 0) return 'Fatorial não definido para números negativos';
        let a = 1;
        for (let b = numero; b > 1; b--) {
            a *= b;
        }
        return a;
    }
    
    let numero = parseInt(prompt('Insira um número:'));
    if (!isNaN(numero)) {
        alert(`Fatorial de ${numero} é ${fatorial(numero)}`);
    } else {
        alert('Por favor, insira um número válido.');
    }
    
  2. Função para mostrar a tabuada de um número

    Você perguntou sobre como exibir a tabuada completa em um alert. Para isso, você pode acumular os resultados em uma string e depois exibi-los de uma só vez:

    function tabuada(numero) {
        let resultado = '';
        for (let delimitador = 1; delimitador <= 10; delimitador++) {
            resultado += `${numero} x ${delimitador} = ${delimitador * numero}\n`;
        }
        return resultado;
    }
    
    let numero = parseInt(prompt('Insira um número:'));
    if (!isNaN(numero)) {
        alert(tabuada(numero));
    } else {
        alert('Por favor, insira um número válido.');
    }
    
  3. Dicas e conteúdos recomendados para entender funções

    Para melhorar sua compreensão sobre funções em JavaScript, aqui estão algumas dicas e recursos:

    • Prática: A prática é fundamental para se sentir confortável com funções. Tente resolver pequenos problemas usando funções.

    • Documentação Oficial: A MDN Web Docs oferece uma excelente documentação sobre funções em JavaScript.

    • Livros: Alguns livros recomendados são:JavaScript: The Good Parts de Douglas Crockford,Eloquent JavaScript de Marijn Haverbeke (disponível gratuitamente online).

  4. Conceitos-chave sobre funções

    • Definição e chamada de função: aprenda a definir uma função com function nomeFuncao(parâmetros) { corpo } e a chamá-la com nomeFuncao(argumentos).
    • Parâmetros e argumentos: entenda a diferença entre os valores passados para uma função (argumentos) e as variáveis usadas dentro da definição da função (parâmetros).
    • Funções anônimas e expressões de função: explore a definição de funções sem nome e como armazená-las em variáveis.
    • Arrow Functions: Conheça a sintaxe moderna para escrever funções de forma mais concisa (const func = (param) => { corpo }).

Com prática e estudo, você certamente se sentirá mais confortável com o uso de funções em JavaScript.

Boa sorte!