1
resposta

[Dúvida] Verificação de código em JavaScript

Durante o curso de programação, busquei exercícios extras para me aperfeiçoar em JS e me apareceu a seguinte questão: Faça um programa que leia do usuário uma temperatura em Fahrenheit, converta-a para graus Celsius e escreva o novo valor na tela. A fórmula de conversão de Fahrenheit (F) para Celsius é C=((F-32)*5/9)

Gostaria de saber se a minha resolução está correta

//Passo 1 -> Criar uma variável para a temperatura em F e solicitar que o usuário insira o valor
const temperaturaFahrenheit = prompt ("Digite um valor de temperatura em Fahrenheit");
//Passo 2 --> Criar uma função com parâmetro e com retorno para a conversão da temperatura
function fahrenheitParaCelsius (temperatura) {
    const temperatura = (temperaturaFahrenheit-32)*5/9;
    return temperatura;
}

//Passo 3 ---> Chamar a função para que seja funcional
fahrenheitParaCelsius (temperatura);
1 resposta

Olá Gabrielle bom dia!

A sua logica está correta porem há alguns problemas na implementação... vamos lá

Passo 1: Aqui você pode converter o retorno do prompt que é uma string para um número, pode fazer isso usando a função parseInt.

Passo 2: Aqui você declara a função para fazer a conversão e esperar receber uma temperatura como parâmetro o que esta correto, porem na função você declara outra variável com o mesmo nome do parâmetro e passa a variável criada para guardar a temperatura direto pra dentro da função. Para tornar a função mais genérica você teria que passar os dados recebidos pelo prompt atraves do parametro.

exemplo:

//Passo 1 -> usando o parseInt para converter a string recebida no prompt para number
const temperaturaFahrenheit = parseInt(prompt ("Digite um valor de temperatura em Fahrenheit"), 10);
//Passo 2 --> Criar uma função com parâmetro e com retorno para a conversão da temperatura

function fahrenheitParaCelsius (temperatura) {
    // verificando se o dado recebido pela função é um número
    if (isNaN(temperatura)) {
        alert("erro: número informado invalido");
        return;
    }
    // usando o parâmetro recebido pela função pra fazer o calculo e retornando o resultado
   return (temperatura - 32)*5/9;
}

//Passo 3 ---> Chamando a função e passando a variável com a temperatura fornecida pelo usuário como parametro
const temperaturaCelsius = fahrenheitParaCelsius(temperaturaFahrenheit);
alert(`A temperatura em Celsius é ${temperaturaCelsius.toFixed(2)`);

Note que usei o parseInt pra retornar um número do prompt, porem caso não seja possível converter a função parseInt vai retornar NaN(not a number), por isso na função fahrenheitParaCelsius eu uso um if pra validar se o que foi recebido na função foi um número.

em seguida chamo a função e guardo o retorno em uma variável, e por fim exibo o resultado pro usuário com um alert, usando uma templete string.

Espero que tenha dado pra entende!