programandoai

Desafio final

Sua vez de escrever a função de cálculo sozinho, com a correção automática conferindo as quatro operações e a divisão por zero.

Estudar esta lição interativa →

Você já viu calcular(a, operador, b) funcionando na calculadora. Agora é sua vez de escrevê-la do zero. Ela recebe dois números e um operador em texto ("+", "−", "×" ou "÷") e devolve o resultado exato, sem arredondar (1 ÷ 3 dá 0.3333..., e 0.1 + 0.2 dá o que o JavaScript dá), exceto na divisão por zero, quando deve devolver null. Um operador que não seja nenhum desses (como "^") também devolve null: null é o jeito de dizer "não existe resultado".

Um detalhe que engana: os símbolos −, × e ÷ que aparecem nos botões da calculadora são caracteres matemáticos próprios, diferentes das teclas - (hífen), * e / do seu teclado, embora o − e o hífen sejam quase idênticos na tela. Para a sua função não falhar em silêncio quando alguém digitar o do teclado, ela deve aceitar os dois jeitos: "−" ou "-", "×" ou "*", "÷" ou "/".

Complete calcular(a, operador, b) para somar, subtrair, multiplicar e dividir, devolvendo null quando o operador for uma divisão ("÷" ou "/") e b for 0. Aceite os dois jeitos de escrever cada operador, devolva null para qualquer outro operador e não arredonde o resultado. Faça as contas com os operadores do JavaScript: eval e new Function não valem (executar texto digitado como código é um risco de segurança).
function calcular(a, operador, b) {
  // operador é um dos textos: "+", "−" ou "-", "×" ou "*", "÷" ou "/"
  // dica: comece pelos três casos simples com if, e trate a divisão por zero antes de dividir
  // se o operador não for nenhum desses, devolva null
}

🧩 Este é um exercício com correção automática — abra no app para completá-lo e verificar.

← Voltar ao índice do curso