1
resposta

[Sugestão] Desafio 08 - Aula 02

Incrementei o prompt para facilitar a visualização e testes no navegador.

//1
const hello = () => {
    console.log("Hello, World!");
}
hello()

//2
const helloName = (nome) => {
    console.log(`Olá, ${nome}!`);
}
helloName(prompt("Qual é o seu nome?"));

//3
const dobro = () => {
    alert("Vamos calcular o dobro de um número.");
    let numDobro = Number(prompt("Digite um número"));
    return (numDobro * 2);
}
console.log(`O dobro do número é: ${dobro()}`);

//4
const media = () => {
    alert("Vamos calcular a média de três números.");
    let num1 = Number(prompt("Digite o primeiro número:"));
    let num2 = Number(prompt("Digite o segundo número:"));
    let num3 = Number(prompt("Digite o terceiro número:"));
    return (num1 + num2 + num3) / 3;
}
console.log(`A média dos números é: ${media()}`);

//5
const maiorNumero = () => {
    alert("Vamos comparar dois números e informar o maior.");
    let num4 = Number(prompt("Digite o primeiro número:"));
    let num5 = Number(prompt("Digite o segundo número:"));
    return (num4 > num5) ? num4 : num5;
}
console.log(`O maior número é: ${maiorNumero()}`);

//6
const quadrado = () => {
    alert("Vamos calcular o quadrado de um número.");
    let num6 = Number(prompt("Digite um número:"));
    return num6 * num6;
}
console.log(`O quadrado do número é: ${quadrado()}`);
1 resposta

```"use strict";

/* ---------- Helper de entrada ---------- */
// Pede um número; aceita vírgula. Retorna null se o usuário cancelar.
const askNumber = (msg) => {
  while (true) {
    const raw = prompt(msg);
    if (raw === null) return null; // cancelado
    const n = Number(String(raw).replace(",", "."));
    if (Number.isFinite(n)) return n;
    alert("Valor inválido. Tente novamente (use números; vírgula é aceita).");
  }
};

/* ---------- Funções puras (sem I/O) ---------- */
const hello       = () => "Hello, World!";
const helloName   = (nome) => `Olá, ${nome}!`;
const dobro       = (n) => n * 2;
const media       = (...nums) => {
  if (!nums.length) throw new Error("Nenhum número informado.");
  return nums.reduce((a, b) => a + b, 0) / nums.length;
};
const maiorNumero = (a, b) => Math.max(a, b);
const quadrado    = (n) => n * n;

/* ---------- Wrappers interativos ---------- */
// 1
console.log(hello());

// 2
{
  const nome = prompt("Qual é o seu nome?");
  console.log(nome?.trim() ? helloName(nome.trim()) : "Nome não informado.");
}

// 3
{
  alert("Vamos calcular o dobro de um número.");
  const n = askNumber("Digite um número:");
  if (n !== null) console.log(`O dobro do número é: ${dobro(n)}`);
}

// 4
{
  alert("Vamos calcular a média de três números.");
  const n1 = askNumber("Digite o primeiro número:");
  if (n1 === null) { console.log("Operação cancelada."); }
  else {
    const n2 = askNumber("Digite o segundo número:"); if (n2 === null) console.log("Operação cancelada.");
    else {
      const n3 = askNumber("Digite o terceiro número:"); if (n3 === null) console.log("Operação cancelada.");
      else console.log(`A média dos números é: ${media(n1, n2, n3)}`);
    }
  }
}

// 5
{
  alert("Vamos comparar dois números e informar o maior.");
  const a = askNumber("Digite o primeiro número:");
  if (a === null) console.log("Operação cancelada.");
  else {
    const b = askNumber("Digite o segundo número:");
    if (b === null) console.log("Operação cancelada.");
    else console.log(`O maior número é: ${maiorNumero(a, b)}`);
  }
}

// 6
{
  alert("Vamos calcular o quadrado de um número.");
  const n = askNumber("Digite um número:");
  if (n !== null) console.log(`O quadrado do número é: ${quadrado(n)}`);
}