Per a calculadores TI-92
ECONOM.9XP
ECONOM.9XP
()
Prgm
Lbl in
ClrIO
Disp " ANÀLISI D´INVERSIONS v3.1","",""," Eudald xxxxxx xxxxxxx"
DelVar cr,cp,var1,var2,θa,θθ,bb,cc,gg,rr,xx,yy,θk,θj,θh,mm,ps
ti92plus\mode()
setMode("Exact/Approx","APPROXIMATE")
setMode("Exponencial Format","NORMAL")
setMode("Display Digits","FLOAT")
Dialog
Title "Dades inicials"
Request "Inversió inicial ",i
Request "Capital circulant",c
Request "Cost oportunitat ",o
Request "Crèdit financer ",cr
Request "Pagaments crèdit ",cp
Request "Vida inversió ",v
Request "Valor residual(%)",e
EndDlog
Dialog
Title "Dades inicials: taxes"
Text "Entrar valors en %"
Request "Infl. entorn (g)",g
Request "Infl. fluxos (a)",a
Request "Taxa actualit.(r)",r
Request "Taxa cobrament(c)",ma
Request "Taxa pagament (p)",na
Text ""
DropDown " ",{"CONTINUAR","SORTIR"},θa
EndDlog
If θa=2 Then
Goto in
EndIf
expr(ma)→ma
expr(na)→na
expr(v)→v
expr(i)→i
expr(a)→a
expr(r)→r
expr(g)→g
expr(e)→e
expr(o)→o
expr(c)→c
expr(cr)→cr
expr(cp)→cp
i+c+o-cr→i
a%→xa
g%→ya
0→x
0→y
0→var1
0→var2
newList(v)→bb
newList(v)→cc
While var1 v or var2 v
If var1 v Then
var1→va
EndIf
If var2 v Then
var2→wa
EndIf
string(x)→x
string(y)→y
Dialog
Request "Cobraments anuals",x
DropDown "Fins l'any",seq(string(io),io,1,v),var1
Request "Pagaments anuals",y
DropDown "Fins l'any",seq(string(io),io,1,v),var2
EndDlog
expr(x)→x
expr(y)→y
For j,va+1,var1
x*(1+ma%)^j→bb[j]
EndFor
For j,wa+1,var2
y*(1+na%)^j→cc[j]
EndFor
EndWhile
If a=g Then
PopUp {"Simplificant","Sense simplificar","SORTIR"},aa
If aa=3 Then
Goto in
EndIf
If aa=1 Then
0→xa
0→ya
EndIf
EndIf
For j,1,v
(bb[j]-cc[j])*(1+xa)^j-cp→z[j]
EndFor
Loop
ClrIO
Dialog
Text "Fluxos extraordinaris"
Text ""
DropDown " ",{"NOU FLUX EXTRAORDINARI","CONTINUAR","SORTIR"},θa
Text ""
Text ""
DropDown "Any ",seq(string(io),io,1,v),gg
DropDown "Tipus",{"Subvenció","Renovació immobilitzat"},ca
EndDlog
If θa=3 Then
Goto in
Elseif θa=2 Then
Exit
EndIf
Disp "Any "&string(k)
If ca=1 Then
Lbl err
Dialog
Title "Subvenció"
Text ""
Text ""
Request "% de la inversió",ps
Text ""
Request "Quantitat",s
EndDlog
If ps "" and s="" Then
z[gg]+ps%→z[gg]
Elseif ps="" and s "" Then
z[gg]+s→z[gg]
Else
Goto err
EndIf
Else
Dialog
Title "Renovació immobilitzat"
Text ""
Request "Quantitat",xx
Text ""
Text ""
Dropdown "Tipus",{"Pagament","Cobrament"},θa
EndDlog
If θa=1 Then
xx*-1→xx
EndIf
z[gg]+xx*(1+ya)^gg→z[gg]
EndIf
EndLoop
e%*i*(1+ya)^v+z[v]→z[v]
ClrIO
Disp "Fluxos de caixa"
For j,1,v
Disp "FC "&string(j)&"= "&string(z[j])
If mod(j,7)=0 Then
Pause
ClrIO
EndIf
EndFor
Pause
r%*(1+ya)+ya→w
Lbl tir
ClrIO
Disp "INVERSIÓ = "&string(i),"INTERÉS r'(%)= "&string(w*100)
0→f
For j,1,v
z[j]/(1+w)^j→d
d+f→f
EndFor
f-i→rr
Disp "VAN = "&string(rr)
PopUp {"Càlcul automàtic del TIR","Càlcul manual del TIR","No calcular el TIR","SOR
TIR"},θθ
While θθ=2 Then
Input "r' ?",tir
0→f
For j,1,v
z[j]/(1+tir)^j→d
d+f→f
EndFor
Pause
ClrIO
PopUp {"Tornar a recalcular","Sortir"},
θθ
Disp "Càlcul del TIR per iteracions","VAN = 0"
Disp "","VAN = "&string(f-i)
Goto iter
ElseIf θθ=3 Then
Goto notir
ElseIf θθ=4 Then
Goto in
EndIf
ClrIO
solve(f-i=0,tir)→t
Disp string(t)
Lbl notir
rr/i*100→rr
Disp "REND. REL.(%)= "&string(rr)
⁻i→θk
newList(v)→mm
For θθ,1,v
θk+z[θθ]/(1+w)^θθ→θk
θk→mm[θθ]
If θk>0 Then
Disp "TER. RECUP. = "&string(θθ)
Exit
EndIf
EndFor
Pause
ClrIO
Loop
Pause
PopUp {"Mostrar F.C. acumulats","Recalcular el TIR","Finalitzar"},θj
If θj=1 Then
For θh,1,θθ
Disp mm[θh]
EndFor
ElseIf θj=2 Then
Goto tir
Else
Goto in
EndIf
EndLoop
EndPrgm
Cap comentari:
Publica un comentari a l'entrada