Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

exercicio de logica de programacao. Duvida????

<meta charset="UTF-8">

<script>

function pulaLinha() {

    document.write("<br>");
};

function mostra(mensagem) {

    document.write(mensagem);
    pulaLinha();
};

var minhaIdade = 42 ;
var idadeFred = 43;
var idadeMae = 67;
var diferencaIdadeFred = minhaIdade - idadeFred;
var diferencaIdadeMae = minhaIdade - idadeMae

mostra("A minha idade é: " + minhaIdade);
mostra("A idade de Fred é: " + idadeFred);
mostra("A idade da minha Mae e:" + idadeMae);
mostra("A diferença de idades entre eu e Fred é: " + diferencaIdadeFred);
mostra("A diferenca de idade entre eu e Mae e:" + diferencaIdadeMae);

</script>    

Mais uma vez nao consegui usar Math.round. Tentei assim:

mostra(Math.round("A diferença de idades entre eu e Fred é: ") + diferencaIdadeFred);

mas aparceu "NaN" escrito na pagina HTML? sei que e so inverter a ordem da subtracao pra ajustar o resultado negativo. Mas gostaria de saber se tem como usar esse comando ai nesse execicio e como e? por favor

2 respostas
solução!

Olá, Valdir! Tudo bem?

Acredito que a função que esteja procurando seja Math.abs, que retorna o valor absoluto de um número, ou seja, se o número for positivo será ele mesmo e se for negativo será o seu simétrico. Aplicando essa função no seu algoritmo, teremos a seguinte solução:

<meta charset="UTF-8">

<script>
    function pulaLinha() {

        document.write("<br>");
    };

    function mostra(mensagem) {

        document.write(mensagem);
        pulaLinha();
    };

    var minhaIdade = 42 ;
    var idadeFred = 43;
    var idadeMae = 67;
    var diferencaIdadeFred = minhaIdade - idadeFred;
    var diferencaIdadeMae = minhaIdade - idadeMae

    mostra("A minha idade é: " + minhaIdade);
    mostra("A idade de Fred é: " + idadeFred);
    mostra("A idade da minha Mae e:" + idadeMae);
    mostra("A diferença de idades entre eu e Fred é: " + Math.abs(diferencaIdadeFred));
    mostra("A diferenca de idade entre eu e Mae e:" + Math.abs(diferencaIdadeMae));

</script>    

O math.round não estava resolvendo seu problema porque é uma função que retorna o valor arredondado de determinado número para o inteiro mais próximo. Além do mais, ela recebe como parâmetro um número, como você está passando uma String em mostra(Math.round("A diferença de idades entre eu e Fred é: ") + diferencaIdadeFred);, a função acaba te retornando NaN, que significa "não é um número".

Por exemplo, se você tem o número -19.8 e usar Math.round(-19.8), ele irá te retornar -20. Assim, a função math.round não seria útil no seu caso, visto que vai apenas arredondar um valor, não torná-lo positivo.

Espero que isso tenha te ajudado. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Entendi. Esse comando ainda nao tinha sido ensinado no curso. Obrigado