Home |
Logithèque |
TI80
Application financière classique de "Time Value of Money"
Code
Programme TVM : (473 octets)
Lbl A:ClrHome
Disp "1.N=",N
Disp "2.I%=",I
Disp "3.PV=",P
Pause
Disp "4.Pmt=",M
Disp "5.FV=",F
Input "0=Calc>",X
If X=0:Goto C
If X=1:Goto 1
If X=2:Goto 2
If X=3:Goto 3
If X=4:Goto 4
If X=5:Goto 5
Goto A
Lbl 1
Input "N=",N
Goto A
Lbl 2
Input "I%=",I
Goto A
Lbl 3
Input "PV=",P
Goto A
Lbl 4
Input "PMT=",M
Goto A
Lbl 5
Input "FV=",F
Goto A
Lbl C
Disp "Calc: 2=I% 3=PV"
Input " 4=PMT 5=FV>",X
If X=0:Goto A
If X=2:Goto I
(1+I/100)^-1->T
If X=3:Goto P
If X=4:Goto M
If X=5:Goto F
Stop
Lbl I
.5->X:.51->T
Lbl theta
Prgm_ZTVM
If Ans>=0
Then:T+X->T
Else:T-X->T
End
X/2->X
If X>e-5:Goto theta
100*(T^-1 - 1)->I
Goto A
Lbl P
0->P:Prgm_ZTVM
-Ans->P:Goto A
Lbl M
0->M:Prgm_ZTVM
Ans->X:1->M
Prgm_ZTVM
X/(X-Ans)->M
Goto A
Lbl F
0->F:Prgm_ZTVM
-Ans/T^N->F
Goto A
Notes sur le code source :
Aux lignes 2, 20 et 33 le signe "division euclidienne" après I sera utilisé pour faire une représentation acceptable du symbole %.
En ligne 34 il existe trois blancs avant le signe 5, mais ce n'est pas très important.
Aux lignes 37 et 52 la série de signes "^-1" correspond à l'inversion (puissance moins un)
Au 56 et 65 le signe précédant "Ans" est l'opérateur "signe opposé" (qui est différent du signe moins binaire).
En ligne 51 le "e" symbolise le signe d'exposant de puissance de 10.
Programme ZTVM : (36 octets)
P+F*T^N+M*T*(1-T^N)/(1-T)
Mode d'emploi
Lancer le programme. Les valeurs actuelles des paramètres du TVM sont affichées sur deux écrans successifs avec leur numéro d'accès (de 1 à 5). Pour saisir des valeurs, taper le numéro d'accès et entrer la valeur désirée. La variable I% est entrée en pourcentage, par exemple pour I=6,23% taper 2 puis 6.23.
Une valeur qui n'est pas entre 0 et 5 refait afficher les valeurs.
Lorsque toutes les valeurs sont correctes, on peut en calculer une parmi I, PV, PMT et FV en tapant zéro.
Un menu s'affiche demandant de sélectionner la variable à rechercher par son numéro d'ordre. Sur saisie de ce numéro, la variable calculée s'affiche. Ce calcul peut prendre quelques secondes dans le cas de I.
Mathématiques à l'oeuvre
La formule d'annulation de la somme des flux financiers est présente dans le sous-programme ZTVM. Au lieu de I on substitue la variable intermédiaire T=1/(1+I/100)). On note que ce sous-programme pourrait être réincorporé dans le programme principal, mais au prix d'une certaine perte de place.
La formule en question suppose les flux payés en fin de période. Si on les veut en début de période, modifier simplement la formule dans le sous-programme selon :
P+F*T^N+M*(1-T^N)/(1-T)
Toutes les formules sont évidentes, l'algorithme de recherche de I (en fait de T) est une dichotomie assez amusante qui s'inspire du jeu de "Recherche du nombre caché". La recherche est assez rapide, pilotée par la précision en ligne 51.