Matemática Financeira
Programa de cálculos diversos de matemática financeira, tais como cálculo de VALOR FUTURO, VALOR PRESENTE, VALOR DE PRESTAÇÃO, TAXA DE JUROS etc.
Teste o programa no WebMSX – The Online MSX Emulator
Fonte: Livro Coleção de Programas para MSX Volume 2
Editora: Aleph
Ano: 1986
Autor: Luiz Tarcísio de Carvalho Jr.
Código fonte
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 |
1000 ' MATEMATICA FINANCEIRA 1010 ' LUIZ TARCISIO DE CARVALHO JR 1020 ' 1030 ON ERROR GOTO 2360 1040 KEYOFF:SCREEN 2:COLOR15,1,1 1050 OPEN"GRP:"FOR OUTPUT AS#1 1060 GOSUB2270 1070 COLOR3:PSET(10,125):PRINT#1,"Escolha o valor a ser calculado" 1080 COLOR15:X$=INPUT$(1):IFASC(X$)<49ORASC(X$)>53THENGOSUB2260:GOTO1080 1090 O=ASC(X$):GOSUB1120 1100 LINE(10,125)-(255,135),1,BF:PSET(30,125),1:COLOR3:PRINT#1,"Os valores conhecidos s±o:":COLOR8:PSET(30,140),1 1110 ONOGOTO1130,1260,1390,1520,1740 1120 O=O-48:ONOGOSUB2210,2220,2230,2240,2250:RETURN 1130 PRINT#1,"(A) [2],[4],[5]":PSET(30,155),1:PRINT#1,"(B) [3],[4],[5]" 1140 COLOR3:PSET(30,170),1:PRINT#1,"Escolha a op‡±o":Y$=INPUT$(1):O=ASC(Y$)-64:IFO<1ORO>2THENGOTO1140 1150 ONOGOTO1160,1210 1160 GOSUB2300:GOSUB2010:GOSUB2030 1170 INPUT"Qual o VALOR FUTURO ";F 1180 R=F/X:GOSUB2060 1190 LOCATE12,12:PRINT"VALOR PRESENTE":LOCATEK,14:PRINT"Cz$ ";R$ 1200 GOSUB2310:GOTO1160 1210 GOSUB2300:GOSUB2010:GOSUB2030 1220 INPUT"Qual o VALOR DA PRESTA€°O ";A 1230 R=A*(X-1)/(I*X):GOSUB2060 1240 LOCATE12,12:PRINT"VALOR PRESENTE":LOCATEK,14:PRINT"Cz$ ";R$ 1250 GOSUB2310:GOTO1210 1260 PRINT#1,"(A) [1],[4],[5]":PSET(30,155),1:PRINT#1,"(B) [3],[4],[5]" 1270 COLOR3:PSET(30,170),1:PRINT#1,"Escolha a op‡±o":Y$=INPUT$(1):O=ASC(Y$)-64:IFO<1ORO>2THENGOTO1270 1280 ONOGOTO1290,1340 1290 GOSUB2300:GOSUB2010:GOSUB2030 1300 INPUT"Qual o VALOR PRESENTE ";P 1310 R=P*X:GOSUB2060 1320 LOCATE13,12:PRINT"VALOR FUTURO":LOCATEK,14:PRINT"Cz$ ";R$ 1330 GOSUB2310:GOSUB1290 1340 GOSUB2300:GOSUB2010:GOSUB2030 1350 INPUT"Qual o VALOR DA PRESTA€°O ";A 1360 R=A*(X-1)/I:GOSUB2060 1370 LOCATE13,12:PRINT"VALOR FUTURO":LOCATEK,14:PRINT"Cz$ ";R$ 1380 GOSUB2310:GOTO1340 1390 PRINT#1,"(A) [1],[4],[5]":PSET(30,155),1:PRINT#1,"(B) [2],[4],[5]" 1400 COLOR3:PSET(30,170),1:PRINT#1,"Escolha a op‡±o":Y$=INPUT$(1):O=ASC(Y$)-64:IFO<1ORO>2THENGOTO1400 1410 ONOGOTO1420,1470 1420 GOSUB2300:GOSUB2010:GOSUB2030 1430 INPUT"Qual o VALOR PRESENTE ";P 1440 R=P*I*X/(X-1):GOSUB2060 1450 LOCATE10,12:PRINT"VALOR DA PRESTA€°O":LOCATEK,14:PRINT"Cz$ ";R$ 1460 GOSUB2310:GOTO1420 1470 GOSUB2300:GOSUB2010:GOSUB2030 1480 INPUT"Qual o VALOR FUTURO ";F 1490 R=F*I/(X-1):GOSUB2060 1510 GOSUB2310:GOTO1470 1520 PRINT#1,"(A) [1],[3],[5]":PSET(30,155),1:PRINT#1,"(B) [1],[2],[5]" 1530 COLOR3:PSET(30,170),1:PRINT#1,"Escolha a op‡±o":Y$=INPUT$(1):O=ASC(Y$)-64:IFO<1ORO>2THENGOTO1530 1540 ONOGOTO1550,1660 1550 GOSUB2300:GOSUB2010 1560 LOCATE2,4:INPUT"Qual o VALOR PRESENTE ";P 1570 LOCATE2,6:INPUT"Qual o VALOR DA PRESTA€°O";A 1580 LOCATE2,8:INPUT"Qual o NUM. DE PER‰ODOS";N 1590 I=10:I2=0 1600 A1=(P*I*(1+I)^N)/((1+I)^N-1):A1=INT(A1*100+.5)/100:I3=ABS(I-I2)/2:I2=I:IFA=A1THEN1630 1610 IFA<A1THENI=I-I3ELSEI=I+I3 1620 GOTO1600 1630 J=INT(I*100000!+.5)/1000 1640 LOCATE10,12:PRINT"TAXA DE JUROS":LOCATE12,14:PRINTJ;"%" 1650 GOSUB2310:GOTO1550 1660 GOSUB2300:GOSUB2010 1670 LOCATE2,2:INPUT"Qual o VALOR PRESENTE ";P 1680 LOCATE2,4:INPUT"Qual o VALOR FUTURO ";F 1690 LOCATE2,6:INPUT"Qual o NUM. DE PER‰ODOS ";N 1700 I=(F/P)^(1/N)-1 1710 J=INT(I*100000!+.5)/1000 1720 LOCATE10,12:PRINT"TAXA DE JUROS":LOCATE12,14:PRINTJ"%" 1730 GOSUB2310:GOTO1660 1740 PRINT#1,"(A) [1],[4],[5]":PSET(30,155),1:PRINT#1,"(B) [3],[4],[5]":PSET(30,170),1:PRINT#1,"(C) [1],[2],[4]" 1750 COLOR3:PSET(30,185),1:PRINT#1,"Escolha a op‡±o":Y$=INPUT$(1):O=ASC(Y$)-64:IFO<1ORO>3THENGOTO1750 1760 ONOGOTO1770,1850,1930 1770 GOSUB2300:GOSUB2010 1780 LOCATE2,2:INPUT"Qual o VALOR PRESENTE ";P 1790 LOCATE2,4:INPUT"Qual o VALOR DA PRESTA€°O";A 1800 LOCATE2,6:PRINT"Qual A TAXA DE JUROS":LOCATE3,7:INPUT"expressa em porcentagem";J 1810 I=J/100:N=(LOG(A)-LOG(I)-LOG(A/I-P))/LOG(1+I) 1820 N=INT(N*100+.5)/100 1830 LOCATE8,12:PRINT"N‹MERO DE PER‰ODOS":LOCATE12,14:PRINTN 1840 GOSUB2310:GOTO1770 1850 GOSUB2300:GOSUB2010 1860 LOCATE2,2:INPUT"Qual o VALOR FUTURO";F 1870 LOCATE2,4:INPUT"Qual o VALOR DA PRESTA€°O";A 1880 LOCATE2,6:INPUT"Qual A TAXA DE JUROS":LOCATE3,7:INPUT"expressa em porcentagem";J 1890 I=J/100:N=LOG(F*I/A+1)/LOG(I+1) 1900 N=INT(N*100+.5)/100 1910 LOCATE8,12:PRINT"N‹MERO DE PER‰ODOS":LOCATE12,14:PRINTN 1920 GOSUB2310:GOTO1850 1930 GOSUB2300:GOSUB2010 1940 LOCATE2,2:INPUT"Qual o VALOR PRESENTE ";P 1950 LOCATE2,4:INPUT"Qual o VALOR FUTURO ";F 1960 LOCATE2,2:INPUT"Qual a taxa de juros":LOCATE3,7:INPUT"expressa em porcentagem";J 1970 I=J/100:N=LOG(F/P)/LOG(1+I) 1980 N=INT(N*100+.5)/100 1990 LOCATE8,12:PRINT"N‹MERO DE PER‰ODOS":LOCATE12,14:PRINTN 2000 GOSUB2310:GOTO1930 2010 PRINTSTRING$(39,219):LOCATE0,22:PRINTSTRING$(39,219); 2020 RETURN 2030 LOCATE2,2:PRINT"Qual a taxa de juros":LOCATE3,3:INPUT"expressa em porcentagem";J 2040 LOCATE2,5:INPUT"Qual o n£mero de per¡odos";N 2050 I=J/100:X=(1+I)^N:LOCATE2,7:RETURN 2060 R=INT(R*100+.5)/100 2070 R$=STR$(R):K=LEN(R$):FORU=2TOK-1:IFMID$(R$,U,1)="E"ORMID$(R$,U,1)="D"THEN RETURN 2080 NEXTU 2090 C$="":IFR=INT(R)THENGOTO2130 2100 R$=STR$(R):IFMID$(R$,LEN(R$)-1,1)="."THENC$=","+RIGHT$(R$,1)+"0":GOTO2120 2110 C$=","+RIGHT$(R$,2) 2120 R=INT(R):GOTO2140 2130 C$=",00" 2140 R$=STR$(R):R$=MID$(R$,2):H$="" 2150 K=LEN(R$):IFK<=3THENH$=R$:GOTO2190 2160 NP=INT(K/3):RE=K-NP*3 2170 IFRE=0THENFORSS=1TOK-3STEP3:FORS=SSTOSS+2:H$=H$+MID$(R$,S,1):NEXTS:H$=H$+".":NEXTSS:H$=H$+RIGHT$(R$,3):GOTO2190 2180 H$=LEFT$(R$,RE):FORSS=RE+1TOKSTEP3:H$=H$+".":FORS=SSTOSS+2:H$=H$+MID$(R$,S,1):NEXTS:NEXTSS 2190 IFR=0THENH$="0" 2200 R$=H$+C$:K=LEN(R$):K=(35-K)\2:RETURN 2210 PSET(30,35),1:PRINT#1,"[1] VALOR PRESENTE":RETURN 2220 PSET(30,50),1:PRINT#1,"[2] VALOR FUTURO":RETURN 2230 PSET(30,65),1:PRINT#1,"[3] VALOR DA PRESTA€°O":RETURN 2240 PSET(30,80),1:PRINT#1,"[4] TAXA DE JUROS":RETURN 2250 PSET(30,95),1:PRINT#1,"[5] N‹MERO DE PER‰ODOS":RETURN 2260 PSET(30,150),1:PRINT#1,"OP€°O INVALIDA":FORI=1TO800:NEXTI:LINE(70,150)-(190,160),1,BF:RETURN 2270 CLS:PSET(40,5),1:COLOR8:PRINT#1,"MATEM„TICA FINANCEIRA" 2280 COLOR7:GOSUB2210:GOSUB2220:GOSUB2230:GOSUB2240:GOSUB2250 2290 RETURN 2300 COLOR15,4:SCREEN0:WIDTH39:RETURN 2310 LOCATE0,19:PRINT"[ O ] PARA OUTRA OP€°O" 2311 LOCATE0,20:PRINT"[ N ] PARA NOVO C„LCULO" 2320 A$=INKEY$ 2330 IFA$="O"ORA$="o"THENRUN 2340 IFA$="N"ORA$="n"THENRETURN 2350 GOTO2320 2360 COLOR15,8:CLS:LOCATE10,9:PRINT"VALOR(ES) INV„LIDO(S)":FORU=1TO1000:NEXTU:RUN |