4
respostas

Desafio 6 - modificação

Eu tenho me atrapalhado um pouco com a ideia de utilizar o operador ternário, para isso resolvi pegar esse desafio 06 e fazer as seguintes modificações.

Além de atribuir um valor para as variáveis valor1 e valor2 e calcular o valor da subtração dessas variaveis como sendo uma terceira variavel nomeada de resultado eu pensei em classificar o valor do resultado como neutro, positivo ou negativo.

Para isso inicialmente vou colocar 3 exemplos de programações porém utilizando os comandos if e else e posteriormente tentarei resolver esse problema utilizando o operador ternário.

Exemplo 1 - resultado = 0

let valor1 = 3;
let valor2 = 3;
let resultado = valor1 - valor2;
  if (resultado == 0) {
    console.log(`A diferença de ${valor1} e ${valor2} é igual a ${resultado} e é nula.`);
 }

else {
    if (resultado > 0) {
        console.log(`A diferença de ${valor1} e ${valor2} é igual a ${resultado} e é positivo`);
    }
        else {
            console.log(`A diferença de ${valor1} e ${valor2} é igual a ${resultado} e é negativo`);
    }
}

Exemplo 2 - resultado > 0

let valor1 = 2;
let valor2 = 1;
let resultado = valor1 - valor2;


if (resultado == 0) {
   console.log(`A diferença de ${valor1} e ${valor2} é igual a ${resultado} e é nula.`);
}

else {
    if (resultado > 0) {
        console.log(`A diferença de ${valor1} e ${valor2} é igual a ${resultado} e é positivo`);
    }
        else {
            console.log(`A diferença de ${valor1} e ${valor2} é igual a ${resultado} e é negativo`);
    }
}

Exemplo 3 - resultado < 0

let valor1 = 1;
let valor2 = 2;
let resultado = valor1 - valor2;


if (resultado == 0) {
    console.log(`A diferença de ${valor1} e ${valor2} é igual a ${resultado} e é nula.`);
}

else {
    if (resultado > 0) {
        console.log(`A diferença de ${valor1} e ${valor2} é igual a ${resultado} e é positivo`);
    }
        else {
            console.log(`A diferença de ${valor1} e ${valor2} é igual a ${resultado} e é negativo`);
    }
}

Agora vou pensar em como resolver utilizando o operador ternário kkkk

4 respostas

Beleza... consegui reduzir essa programação utilizando agora um if e um operador ternário.

Exemplo 1 - resultado = 0

let valor1 = 3;
let valor2 = 3;
let resultado = valor1 - valor2;


if (resultado == 0) {
console.log(`A diferença de ${valor1} e ${valor2} é igual a ${resultado} e é nula.`);
}
else {let sinal = resultado > 0 ?'positivo':'negativo';
console.log(`A diferença de ${valor1} e ${valor2} é igual a ${resultado} e é ${sinal}`);
}

Exemplo 2 - resultado > 0

let valor1 = 3;
let valor2 = 2;
let resultado = valor1 - valor2;


if (resultado == 0) {
console.log(`A diferença de ${valor1} e ${valor2} é igual a ${resultado} e é nula.`);
}
else {let sinal = resultado > 0 ?'positivo':'negativo';
console.log(`A diferença de ${valor1} e ${valor2} é igual a ${resultado} e é ${sinal}`);
}

Exemplo 3 - resultado < 0

let valor1 = 2;
let valor2 = 3;
let resultado = valor1 - valor2;


if (resultado == 0) {
console.log(`A diferença de ${valor1} e ${valor2} é igual a ${resultado} e é nula.`);
}
else {let sinal = resultado > 0 ?'positivo':'negativo';
console.log(`A diferença de ${valor1} e ${valor2} é igual a ${resultado} e é ${sinal}`);
}

Espero que tenha dado para entender as programações

Olá, tudo bem? Sou da mesma forma, sempre faço algo a mais kkkk. Se me permitir dar uma dica, você pode mesclar o if que você fez com o resultado === 0.

Uma observação também é que nas verificações está sendo usado apenas 2 ==, o que faz com que a verificação permita passar caso esteja comparando uma string com um número, por exemplo. O correto seria usar 3 ===, que só passará se for do mesmo tipo e valor.

Vou dar um exemplo usando o exemplo 3 que você postou acima

let valor1 = 3;
let valor2 = 3;
let resultado = valor1 - valor2;

console.log(
  `A diferença de ${valor1} e ${valor2} é igual a ${resultado} e é ${
    resultado === 0 ? 'nula' : resultado > 0 ? 'positivo' : 'negativo'
  }`
);

Já que você está usando template strings você pode fazer dessa forma também e o código ficando menor.

Só uma dica mesmo, bons estudos para nós!

caramba, que massa!!!! Entendi! Vou testar outros exemplos assim também!! Valeu Paulo!

cara, isso é muito doido... n maneiras diferentes para se resolver o mesmo problema, eu acho interessante sempre tentar procurar a maneira mais curta. EU já tinha desistido até essa sua dica.