Cálculo da Aplicação Financeira
Publicado por Marcelo Oliver (última atualização em 18/02/2016)
[ Hits: 2.491 ]
Foi pedido por um colega no fórum, fiz o script e optei por colocar aqui, assim mais pessoas podem visualizar/utilizar. Bastante simples, informe o valor, taxa de juros e período. É mostrado uma "tabela" com o reajuste mensal.
#!/bin/bash ############################### # GERA TABELA DE JUROS COMPOSTOS # MARCELO OLIVER # FEVEREIRO/2016 ############################### # VM = Valor Mensal # TJ = Taxa de Juros # NM = Número de Meses # CD = CASAS DECIMAIS # VLC = VALOR CORRIGIDO (CALCULADO) CT="\x1B[1;38;5;4m" CH="\x1B[1;38;5;3m" CE="\e[0;31m" CF="\e[m" MSGERR="DADOS INCORRETOS\n" CD="3" COLS=$(($(tput cols)/2)) INICIO() { printf "$CT\n Informe o Solicitado:\n$CF" LinHzt;LinHzt PEGAVM ; PEGATJ ; PEGANM } PEGAVM() { SRC=VM MSG="VALOR:" PERGUNTA } PEGATJ() { SRC=TJ MSG="JUROS:" PERGUNTA TJ=$(bc <<< "scale=$CD;($TJ/100)+1") } PEGANM() { SRC=NM MSG="MESES:" PERGUNTA } PERGUNTA() { printf ""$CT" $MSG"$CF"" read -p " " [ $REPLY ] || ALERTA #TROCA "," p/ ".". TIRA "." DO FINAL REPLY=$(sed 's/,/\./g;s/\.$//' <<< "$REPLY") #BUSCA POR CARACTER DIFERENTE DE [0-9] e \. if egrep -q '[[:alpha:]+!@#$%&*()_+=><;:/?\|-]+' <<< "$REPLY";then echo -e "\n"$CE" $MSGERR"$CF"" PERGUNTA else case $SRC in VM) TST00 ;; TJ) TST01 ;; NM) TST02 ;; esac fi } TST00() { if egrep -q "^([0-9]+\.?[0-9]{0,2})$" <<< "$REPLY";then GERAVAR else echo -e "\n"$CE" $MSGERR"$CF"" PERGUNTA fi } TST01() { if egrep -q "^([0-9]+\.?[0-9]*)$" <<< "$REPLY";then GERAVAR else echo -e "\n"$CE" $MSGERR"$CF"" PERGUNTA fi } TST02() { if egrep -q '\.+' <<< "$REPLY";then echo -e "\n"$CE" $MSGERR"$CF"" PERGUNTA else GERAVAR ; GERATAB fi } GERAVAR() { eval $SRC="$REPLY" } GERATAB() { unset VLC;LinHzt for ((X=1;X<=$NM;X++));do if [ $VLC ];then VLC=$(bc <<< "scale=$CD;(($VM+$VLC)*$TJ)") else VLC=$(bc <<< "scale=$CD;($VM*$TJ)") fi LinHzt sleep 0.125 #ARREDONDA VLCAR=$(bc <<< "$VLC+0.005") #TIRA 3ª CASA DECIMAL VLCDE=$(sed 's/.$//' <<< "$VLCAR") VLCDEV=$(sed 's/\./\,/' <<< "$VLCDE") printf ""$CT" Mês => %02d"$CF" %s\n" $X $VLCDEV; done;LinHzt } ALERTA() { echo -e " "$CE"\nPREENCHIMENTO OBRIGATÓRIO!"$CF"" ; HELP ; sleep 1.5 ; PERGUNTA } LinHzt() { printf '%*s' "$COLS" '' | sed "s/ /—/g" ;echo; } HELP() { printf "\n"$CH"$(LinHzt)\n Modo de USO:\n$(LinHzt) "$CF""$CT"VM = Valor Mensal"$CF""$CH"\n FORMATO: 100 ou 100,00 "$CF""$CT"TJ = Taxa de Juros"$CF""$CH"\n FORMATO: 1, 1,00, 1.275. "$CF""$CT"NM = Período/Meses"$CF""$CH"\n FORMATO: Número INTEIRO. "$CF""$CT"CD = CASAS DECIMAIS"$CF""$CH" => NãO ALTERAR Calcula com três casas, arredonda e elimina a 3ª casa decimal.\n$(LinHzt)"$CF""$CE" OBS.: A TJ e dividida por 100."$CH" $(LinHzt)"$CF"\n" } INICIO
Script em Xdialog para montar / desmontar dispositivos
CoDe_X - Compactador/Descompactador de arquivos e diretórios usando Xdialog
Configurando acesso ao MS SQL Server nativo e via ODBC no Debian GNU/Linux
shieldscript - Script para defesa básica do seu GNU/Linux
Contar o número de arquivos e subdiretórios de um diretório
Nenhum comentário foi encontrado.
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
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Não to conseguindo resolver este problemas ao instalar o playonelinux (1)
Excluir banco de dados no xampp (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta