Juros compostos usando bc
Publicado por Augusto 05/02/2006
[ Hits: 8.909 ]
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
Script para formatar disquetes em modo texto (Melhorado)
Backup com rsync em maquina da rede.
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Falha com leitor de digitais no Ubuntu: sugestões? (0)
Problema em SSD ao dar boot LinuxMint LMDE FAYE 64 (1)