Juros compostos usando bc
Publicado por Augusto 05/02/2006
[ Hits: 8.798 ]
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
Pegando IP externo shell script
Personalizando o seu shell com bashrc_dahora
Gerador de Pacotes de Instalação
Script para habilitar um pendrive a dar boot no VirtualBox
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Aplicativo simples para gravar tela
Quebra de linha na data e hora no Linux Mint
trocar linhas [RESOLVIDO] (11)
Firefox não abre em usuário não administradores (2)
Ubuntu com problemas no áudio (1)