Segue a minha solução:
Html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style.css">
<title>Document</title>
</head>
<body>
<header>
<h1></h1>
</header>
<main class="container">
<button onclick="calcularIMC(1.71, 54.5)" class="button">IMC</button>
<button onclick="calcularFatorial(6)" class="button">FATORIAL</button>
<button onclick="converterEmDolar(15.20)" class="button">CONVERSOR DOLAR</button>
<button onclick="caclucarAreaPerimetroRetangulo(3.40, 4.50)" class="button">AREA/PERIMETRO - RETANGULO</button>
<button onclick="caclucarAreaPerimetroCirculo(4.50)" class="button">AREA/PERIMETRO - CIRCULO</button>
<button onclick="exibirTabuada(5)" class="button">TABUADA MULTIPLICAÇÃO</button>
</main>
<div>
<p></p>
</div>
<script src="app.js"></script>
</body>
</html>
Js
let titulo = document.querySelector('h1');
titulo.innerHTML = 'Desafio: Hora da prática.';
function exibirTextoNaTela(texto) {
let campo = document.querySelector('p');
campo.innerHTML = texto;
}
function calcularIMC(altura, peso) {
let imc = peso / (altura * altura);
let avaliacao = imc < 18.5 ? `Seu IMC é ${imc.toFixed(2)}, você está abaixo do peso.` : imc > 24.9 ? `Seu IMC é ${imc.toFixed(2)}, você está acima do peso.` : `Seu IMC é ${imc.toFixed(2)}, está normal.`;
exibirTextoNaTela(avaliacao);
}
function calcularFatorial(numero) {
let fatorial = 1;
if(numero === 0 || numero === 1) {
fatorial;
} else {
for (let i = 2; i <= numero; i++) {
fatorial *= i;
}
}
let mensagem = `O fatorial de ${numero} é ${fatorial}.`;
exibirTextoNaTela(mensagem);
}
function converterEmDolar(valorReal) {
let cotacao = 5.54;
let convercao = valorReal / cotacao;
let mensagem = `O valor de ${valorReal.toLocaleString('pt-BR', {style: 'currency', currency: 'BRL'})} em dolar é ${convercao.toLocaleString('pt-BR', {style: 'currency', currency: 'USD'})}.`;
exibirTextoNaTela(mensagem);
}
function caclucarAreaPerimetroRetangulo(largura, altura) {
let area = largura * altura;
let perimetro = (2 * largura) + (2 * altura);
let mensagem = `A sala retangular de largura ${largura} e ${altura}, tem área de ${area.toFixed(2)} e perímetro de ${perimetro.toFixed(2)}.`;
exibirTextoNaTela(mensagem);
}
function caclucarAreaPerimetroCirculo(raio) {
const pi = 3.14;
let area = pi * raio * raio;
let perimetro = pi * raio * 2;
let mensagem = `A sala circular de raio ${raio}, tem área de ${area.toFixed(2)} e perímetro de ${perimetro.toFixed(2)}.`;
exibirTextoNaTela(mensagem);
}
function exibirTabuada(numero) {
let mensagem = '';
for (let i = 0; i <= 10; i++) {
let resultado = numero * i;
mensagem += `${numero} x ${i} = ${resultado}<br>`;
}
exibirTextoNaTela(mensagem);
}