Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Desafio - exercício 2 - está correto?

// Verifique se um número digitado pelo usuário é positivo ou negativo. 
// Mostre um alerta informando.

let numeroDigitado = prompt("Digite um número: ");

if (numeroDigitado == 0) {
    alert("Informe um número diferente de zero.");   
}
if (numeroDigitado < 0) {
    alert("O número informado é negativo."); 
} else {
    alert("O número informado é positivo."); 
}
1 resposta
solução!

Vamos analisar o código fornecido e fazer alguns ajustes:

Código Original

let numeroDigitado = prompt("Digite um número: ");

if (numeroDigitado == 0) {
    alert("Informe um número diferente de zero.");   
}
if (numeroDigitado < 0) {
    alert("O número informado é negativo."); 
} else {
    alert("O número informado é positivo."); 
}

Problemas Identificados

  1. Verificação do Zero:

    • O código verifica se o número digitado é 0 e mostra um alerta, mas ainda continua para as outras verificações. Isso pode causar alertas contraditórios.
  2. Verificação de Positivo/Negativo:

    • O segundo if deve ser else if para evitar que ambos os blocos sejam executados quando numeroDigitado é 0.
  3. Tratamento de String:

    • O valor retornado pelo prompt é uma string, então é necessário convertê-lo para número antes de realizar comparações numéricas.

Código Corrigido

let numeroDigitado = prompt("Digite um número: ");
numeroDigitado = Number(numeroDigitado);  // Converte a entrada para número

if (isNaN(numeroDigitado)) {
    alert("Por favor, digite um número válido.");  // Verifica se a entrada é um número válido
} else if (numeroDigitado === 0) {
    alert("Informe um número diferente de zero.");
} else if (numeroDigitado < 0) {
    alert("O número informado é negativo.");
} else {
    alert("O número informado é positivo.");
}

Explicação das Correções

  1. Conversão para Número:

    • A linha numeroDigitado = Number(numeroDigitado); converte a string retornada pelo prompt para um número, permitindo comparações numéricas adequadas.
  2. Verificação de Validade:

    • isNaN(numeroDigitado) verifica se a entrada é um número válido. Se não for, exibe um alerta pedindo um número válido.
  3. Estrutura de Controle:

    • else if é usado após verificar se o número é 0, para garantir que não haja alertas contraditórios.

Resposta Completa

Aqui está a resposta completa com as correções e melhorias necessárias:

// Verifique se um número digitado pelo usuário é positivo ou negativo. 
// Mostre um alerta informando.

let numeroDigitado = prompt("Digite um número: ");
numeroDigitado = Number(numeroDigitado);  // Converte a entrada para número

if (isNaN(numeroDigitado)) {
    alert("Por favor, digite um número válido.");  // Verifica se a entrada é um número válido
} else if (numeroDigitado === 0) {
    alert("Informe um número diferente de zero.");
} else if (numeroDigitado < 0) {
    alert("O número informado é negativo.");
} else {
    alert("O número informado é positivo.");
}