Juros compostos usando bc
Publicado por Augusto 05/02/2006
[ Hits: 8.690 ]
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
Front-end utilizando o Xdialog para o comando whereis
Eu vejo gente morta. Descubra se alguém já morreu!
Apagar arquivos recursivamente de um diretório pela extensão
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (11)