Tentei criar uma calculadora de percentual de retorno real de investimentos, mas não funcionou... já revisei e comparei com outros códigos aqui mas não encontro o erro...
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Tentei criar uma calculadora de percentual de retorno real de investimentos, mas não funcionou... já revisei e comparei com outros códigos aqui mas não encontro o erro...
Lembrando que na formula os valores das taxas precisam estar no formato decimal (20% tem que colocar 0,20), então quando pegar o valor do usuário pelo prompt eu já fiz a divisão por 100.
// Formula juros reais
// (1 + nominal) = (1 + real) × (1 + inflação).
//
// Isolando o real
// (1 + real) = ( (1 + nominal) / (1 + inflação) )
//
// Aqui esta o erro vc esqueceu do numero 1 que soma com o real.
// 1 + real = (1+nominal) / (1+inflaçao)
//
// É só passar o 1 subtraindo.
// juros reais = ( (1+nominal) / (1+inflaçao) ) - 1
//
// Então a formula no script ficaria assim:
// return ( (taxa Nominal) / (inflação) )-1E só mais uma coisa, não se esqueça do comando meta charset no inicio do programa.
<meta charset="UTF-8">
<script>
function pulaLinha() {
document.write("<br><br>");
}
function mostrar(texto){
document.write(texto);
pulaLinha();
}
function taxaReal (taxaJurosNominal, percentualInflação){
return ((1+taxaJurosNominal)/(1+percentualInflação))-1;
}
var nominal=(parseFloat(prompt("Informe o juros nominal")))/100;
var inflacao=(parseFloat(prompt("Informe a inflação prevista no periodo")))/100;
var calculo=taxaReal(nominal, inflacao);
mostrar("O percentual de retorno real do seu investimento é "+Math.round(calculo*100*100)/100+"%")
</script>[https://clubedospoupadores.com/calcular-taxa-de-juro-real](Link de referência)

Guilherme, agradeço demais. Sou totalmente iniciante, mesmo! Sem querer abusar mas já abusando, gostaria de entender por que é necessário transformar a fórmula original 1+taxaJurosNominal / 1+ percentual de inflação para se chegar a essa ((1+taxaJurosNominal) / (1+percentualInflação))-1. E por que é necessário repetir a multiplicação por 100 aqui (calculo100100)/100+"%"). Entendi já pq é necessário dividir por 100, mas não entendi as multiplicações. Muito obrigada!
Oi Soraia, tudo bem? Então, a formula para se descobrir taxas reais não é a que vc tinha colocado. Esse aqui seria a formula correta:
( 1+nominal) / (1+inflação);Então vc pega esse resultado e subtrai "1", para chegar a taxa real, no fim fica no formato que coloquei:
o resultado de ( (1+nominal)/(1+inflação) ) menos 1Então quando eu coloco essa formula direto na variável "calculo" acaba saindo um valor bem quebrado! Por ex, se eu colocar nominal = 20 e inflação =15 era pra dar 4,35% porem da isso aqui:
0.04347826086956519 Lembra que dividimos por 100 para transformar a porcentagem em decimal pra por na formula? Agora precisamos fazer o valor decimal voltar a ser uma porcentagem, então multiplicamos por 100. Essa já seria a porcentagem correta:
calculo*100 = 4.347826086956519 A partir daqui os cálculos são só para fazer o arredondamento correto para que ao invés de aparecer " 4.3478..." apareça "4.35%"
Arredondamento:calculo*100 = 4.3478
calculo*100*100= 434.78 Math.round(calculo*100*100)
// No nosso ex o 434.78 seria arredondado para = 435
// Então depois de chegar nos valores corretos so precisei dividir por 100 para retornar ao valor 4.35
Math.round(calculo*100*100)/100muitíssimo obrigada, Guilherme!!! :-)
Guilherme beleza, como vc coloca o código sem "ativar" ele aqui?