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.