Juros compostos usando bc
Publicado por Augusto 05/02/2006
[ Hits: 8.867 ]
um scriptzinho bem simples para o cálculo de juros usando o comando linguagem bc,...
sintese: M=C(1+T)^i
jrcomp.Ah <M> <C> <T> <i>
entre com os valores conhecidos e x para o valor a ser cálculado,...
No próprio script tem + info,...
bjunda a tds,.
#!/bin/bash # cálculo de juros composto usando bc # Cálculo do Montante # M = C (1+T)^i # Cálculo do Capital # C = M / (1+T)^i # Cálculo da Taxa # Acompanhe o raciocínio # M = C (1+T)^i # M/C = (1+T)^i # ln(M/C) = ln((1+T)^i) # ln(M/C) = i ln(1+T) # Eq (I) # ln(M/C)/i = ln(1+T) # ln(1+T) = ln(M/C)/i # 1+T = e^(ln(M/C)/i) # T = e^(ln(M/C)/i) - 1 # Cálculo do índice # da Eq (I) temos: # ln(M/C) = i ln(1+T) de onde teremos: # i ln(1+T) = ln(M/C) # i = ln(M/C)/ln(1+T) # função Sintase-f () { echo "Sintase jrcomp.Ah <M> <C> <T> <i>" echo "onde: M = C (1+T)^i" echo "coloque todos os três valores conhecidos e x para o valor a ser calculado." echo Formato echo "M e C XX.XX - valor de moeda" echo "T XX - em percentual com ponto como divisor decimal" echo "i XX - número natural" echo } # setando as váriáveis caso os valores existam. M=$1 C=$2 T=$3 i=$4 if [ -z $1 ] # -z indica que $1 é nulo then Sintase-f echo "por favor informe o montante(M)" read M fi if [ -z $2 ] then Sintase-f echo "M=$M" echo echo "por favor informe o capital(C)" read C fi if [ -z $3 ] then Sintase-f echo "M=$M" echo "C=$C" echo echo "por favor informe a taxa(T)" read T echo fi if [ -z $4 ] then Sintase-f echo "M=$M" echo "C=$C" echo "T=$T" echo echo "por favor informe o índice(i)" read i fi if [ $M = x ] then # calcula o montante com a equação M = C (1+T)^i R=`bc -l << fim # R recebe o resultado para podermos acertar o número de casas decimais logo abaixo,. usamos 50 casas decimais para fazermos um bom calculo. scale=50 $C*(1+$T/100)^$i fim` CS=2 # retorna resultado com 2 casas decimais. elif [ $C = x ] then # calcula o capital com a equação C = M / (1+T)^i R=`bc -l << fim # R recebe o resultado para podermos acertar o número de casas decimais logo abaixo,. usamos 50 casas decimais para fazermos um bom calculo. scale=50 $M/(1+$T/100)^$i fim` CS=2 elif [ $T = x ] then # calcula a taxa com a equação T = e^(ln(M/C)/i) - 1 R=`bc -l << fim # R recebe o resultado para podermos acertar o número de casas decimais logo abaixo,. usamos 50 casas decimais para fazermos um bom calculo. scale=50 100*(e(l($M/$C)/$i)-1) fim` CS=2 elif [ $i = x ] then R=`bc -l << fim # R recebe o resultado para podermos acertar o número de casas decimais logo abaixo,. usamos 50 casas decimais para fazermos um bom calculo. scale=50 l($M/$C)/l(1+$T/100) fim` CS=0 fi bc -l << fim #esta parte é apenas para acertar o número de casas decimais a multiplicação e divisão por 100 serve apenas para enganar o bc. scale=$CS 100*$R/100 fim
Medidor de bateria de laptop modo texto
Script de compilação automatica do GCC
Nenhum coment�rio foi encontrado.
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Converter os repositórios Debian para o novo formato com as chaves
Instalando Spotify no Debian 13
Realizar overclock no Miyoo Mini (plus ou normal)
linux mint reconhece microfone de lapela como fone de ouvido sem micro... (3)
Como desinstalar o GIMP? [RESOLVIDO] (1)