Inscription / Connexion Nouveau Sujet
Niveau BTS
Partager :

calcul d un taux avec une mensualité,capital,durée.

Posté par greg (invité) 18-08-04 à 11:21

bonjour à tous .
je suis étudiant en informatique et je dois créer une calculette qui calcule un taux lorsque l'on entre une mensualité , un capital et une durée.
je sais qu'il s'agit d'une formule qui marche par itérations mais je n'ai pas la formule.
si possible il me faudrait un exemple avec.
merci d'avance!

Posté par Ghostux (invité)re : calcul d un taux avec une mensualité,capital,durée. 18-08-04 à 12:06

Bonjour,
Je ne suis pas sur de voir de quoi tu parles, en attendant une meilleure réponse, je te propose une suite géométrique ?
Un = U0*qn
U0 le capital initial, q le taux(?) et n la duree.
  Par exemple (c'est là qu'on va voir si on parle de la meme chose), tu places 100€ initialement, à 10%, au bout d'un mois t'auras 100€ + 10% , soit 100*1,1, soit 110€ , au bout de 2 mois, 110 + 10% = 110*1,1 = 121 €
U1=100*(1,1)1=110
U2=100*(1,1)2=121
...
Si c'est q que tu veux, tu l'isoles, par un petit calcul relativement simple, tu as:
Un/U0 = qn , en prenant la racine-nieme de chaque coté, tu retrouves q.

Je sais pas du tout si c'est ce que tu cherches.
@ bientot
Ghostux

Posté par
dad97 Correcteur
re : calcul d un taux avec une mensualité,capital,durée. 18-08-04 à 12:26

Bonjour,
Il y a plusieurs façons de calculer le taux que tu demandes, tout dépend de la situation :

Je note :
C° le capital initialement prêté ou emprunté
t le taux d'intérêt correspondant à une période de prêt ou d'emprunt
n le nombre de périodes
In le montant des intérêts versés au bout de n périodes
Cn le capital disponible au bout de n périodes

1er cas : Intérêts simples
Le capital C° est prêté pour n périodes, les intérêts n'étant pas réintégrés dans le capital

Alors In=Cnt
et Cn=C(1+nt)

2ème cas : Intérêts composés
Le capital est prêté pour n périodes mais les intérêts sont maintennat réinvestis à la fin de chaque période dans le capital.

Alors Cn=C(1+t)n
et In=C[(1+t)n-1]

Salut

Posté par
J-P Posteur d'énigmes
re : calcul d un taux avec une mensualité,capital,durée. 18-08-04 à 13:10

Une question presque similaire (la 5ème) a été posée <A HREF="http://www.forum.math.ulg.ac.be/viewthread.html?SESSID=1d99831e1bf42c254fc81142b64101a4&id=5286">ICI</A>

Sauf que là, il fallait exoprimer la mensualités en fonction du capital emprunté, du taux d'intérêt et de la durée de remboursement.


Posté par greg (invité)re : calcul d un taux avec une mensualité,capital,durée. 18-08-04 à 14:19

Déjà merci à tous d'essayer de résoudre mon probléme.
Je vais essayer d'être plus clair (et c'est pas gagner):
il faut que je parvienne à déterminer le taux de l'emprunt. Prenons un exemple:
j'emprunte 1000F sur une durée de 120 mois en remboursant 10.08F par mois:A Quel taux m'a-t-on fait ce prêt?
(dans ce cas je sais qu'il faut trouver 3.90%, si vous y arriver...)
merci encore de prendre le temps de m'écouter.

Posté par
J-P Posteur d'énigmes
re : calcul d un taux avec une mensualité,capital,durée. 18-08-04 à 15:22

C'est bien ce que j'avais compris, en repartant de la réponse sur le site que je t'ai renseigné mais en utilisant d'autres notations.

Soit C le capital emprunté, M la valeur des mensualités, n le nombre total de mensualités et i l'intérêt annuel.

On a:

M = [(i/1200)*C*(1+(i/1200))^n] / [(1+(i/1200))^n  - 1]   (1)

Donc avec C = 1000, n = 120 et i = 3,9, je calcule:
M = [(3,9/1200)*1000*(1+(3,9/1200))^120] / [(1+ (3,9/1200))^120  - 1]
M = 10,08

Donc la formule indiquée permet de calculer les mensualités avec le reste connu et le résultat est conforme à ce que tu as dit.

Si tu veux calculer l'intérêt à partir des autres données, il suffit (mais c'est vite dit) de repartir de cette formule et d'en extraire i.

Donc, si à partir de l'équation (1), tu parviens à écrire: i = f(M, C, n), et bien c'est gagné.
-----

Posté par greg (invité)re 18-08-04 à 15:36

Le problème c'est que pour calculer une mensualité , un capital et une durée j'ai les formules et pour la mensualité c'est bien celle que tu me donnes.Mais on peut pas partir de celle la pour avoir le taux ni le capital ni la durée. Les formules sont différentes.
J'avais trouvé un site où la formule était bien expliqué mais je remets pas la main dessus(plus dans l'historique). La seule chose que je me souviens c'est que la formule qui donne le taux directement (comme celle pour la mensualité) n'existe pas.La seule possibilité est une formule où l'on procède par itération (ce que je pourrai demander de faire a un programme sous access).

Posté par
J-P Posteur d'énigmes
re : calcul d un taux avec une mensualité,capital,durée. 18-08-04 à 16:17

Si, on peut trouver n ou C facilement à partir de la formule.

On trouve:
n = [log(1200M/(1200M-Ci))]/ [log(1 + (i/1200))]

Vérification:
n = [log(1200*10,08/(1200*10,08-1000*3,9))]/ [log(1 + (3,9/1200))]
n = 120 -> OK
-----
On trouve directement C = ...
-----
Mais pour i = ..., c'est plus difficile.

Posté par
Belge-FDLE
Suggestion 19-08-04 à 01:09

Salut à tous,

Le i parait en effet ici très compliqué à extraire. L'équation que je suis arrivé (avec l'aide précieuse de mon père) à trouver et qui me parait la plus convainquante est :

C : Capital
M : Mensualité
Int : Intérêt mensuel (Intérêts annuels = Int*12)
D : Durée

C*Int = M * (1 - 1/(1+Int)D)

Mais si tu es étudiant en informatique, pourquoi ne crées-tu pas une boucle qui test les différentes valeurs du taux (ne pouvant etre comprise qu'entre 0 et 100%, il n'y en a pas une infinité).

Après, tu peux décider de l'écart à incrémenter à chaque "tour" ainsi que de la différence acceptable entre les deux membres d'une équation (la mienne ou l'une de celle de J-P).

Tu peux même faire plusieurs boucles chcune se chargeant d'affiner le résultat.
Par exemple, au début, tu mets 0,5% à incrémenter chaque fois. Ensuite, quand ta boucle conclut que l'écart est assez petit pour que le taux soit le plus juste possible avec cette marge de 0,5%, tu rediriges le programmes vers une seconde boucle qui te fais la même chose, mais avec 0,1% par exemple et en diminuant l'"écart acceptable" etc..... (n'oublie pas d'une boucle à l'autre de soustraire d pourcentage retenu par la première boucle 1% car elle te trouvera e pourcentage le plus proche à 0,5% au dessous, mais aussi à 0,5% au dessus ).

Voilà, c'est juste une suggestion, mais je pense que ce sera bien plus facile .

À +

Posté par
J-P Posteur d'énigmes
re : calcul d un taux avec une mensualité,capital,durée. 19-08-04 à 07:58

Tu sais Belge-FDLE, la formule que tu penses plus convaincante est identique à celle que j'ai donnée.


le Int de ta formule = i/1200 dans la mienne, c'est tout.

Je le montre en repartant de ma formule:

M = [(i/1200)*C*(1+(i/1200))^n] / [(1+(i/1200))^n - 1]
M = [Int*C*(1+Int)^n] / [(1+Int)^n - 1]
C*Int = M*[(1+Int)^n - 1]/(1+Int)^n

C*Int = M*(1 - 1/(1+Int)^n)

Le n de cette formule, toi tu l'as appelé D et alors on arrive à ta formule:
C*Int = M*(1 - 1/(1+Int)^D)
-----
Conclusion, les 2 formules sont identiques.  

Posté par
J-P Posteur d'énigmes
re : calcul d un taux avec une mensualité,capital,durée. 19-08-04 à 11:07

Voilà un programme en C de ma composition, il est basé sur la formule que j'ai donnée, il permet d'entrer le capital emprunté, la valeur de la mensualité, le nombre de mensualités.
Il calcule et affiche le taux d'intérêt annuel si celui-ci est compris entre 0 et 50 %. (facilement modifiable).

#include<stdio.h>
#include<math.h>
#include<process.h>

void main()
{
  double n, M, C, i, Max, Min, R;
  
  Max = 50.0;
  Min = 0.0;
  printf("\n Entrez le capital: ");
  scanf("%lf",&C);
  printf("\n Entrez le montant d'une mensualite: ");
  scanf("%lf",&M);
  printf("\n Entrez le nombre de mensualites: ");
  scanf("%lf",&n);
  if(M > ((50.0/1200.0)*C*pow(1.0+(50.0/1200.0),n)) / (pow(1.0+(50.0/1200.0),n) - 1.0))
  {
  printf("\nLe Taux d'interet est superieur a 50 pourcent\n");
      exit(0);
  }
  if(M*n < C)
  {
      printf("\nLe Taux d'interet est negatif\n");
      exit(0);
  }
  i = (Max + Min)/2.0;
  
  do
  {
    R = M - ((i/1200.0)*C*pow(1+(i/1200.0),n)) / (pow(1.0+(i/1200.0),n) - 1.0);
    if (R > 0.0 && R*R > 0.0001)
{
      Min = i;
  i = (Min + Max)/2.0;
}
if (R < 0.0 && R*R > 0.0001)
    {
      Max = i;
  i = (Min + Max)/2.0;
}
  } while(R*R > 0.0001);
  printf("\nLe taux d'interet est de %f pourcent\n",i);
  printf("\n\nR=%lf",R*R);
}
-----

Posté par
J-P Posteur d'énigmes
re : calcul d un taux avec une mensualité,capital,durée. 19-08-04 à 11:09

J'ai oublié d'identifier mon message précédent.

Posté par
J-P Posteur d'énigmes
re : calcul d un taux avec une mensualité,capital,durée. 19-08-04 à 11:11

La dernière ligne du programme, soit
printf("\n\nR=%lf",R*R);

est à enlever (elle était-là pour test).

Posté par Ghostux (invité)re : calcul d un taux avec une mensualité,capital,durée. 19-08-04 à 11:12

C'est fait [pas pour la ligne, pour l'identification]

Posté par
J-P Posteur d'énigmes
re : calcul d un taux avec une mensualité,capital,durée. 19-08-04 à 11:14

Bon, je m'aperçois que le site a mangé des parties de texte de mon programme.  

Je vais essayer d'en faire une fichier image et l'envoyer comme cela.

Posté par
J-P Posteur d'énigmes
re : calcul d un taux avec une mensualité,capital,durée. 19-08-04 à 11:19

Voila le dessin.

calcul d un taux avec une mensualité,capital,durée.

Posté par
Tom_Pascal Webmaster
re : calcul d un taux avec une mensualité,capital,durée. 19-08-04 à 11:19

C'est les < et > qu'il cherche à interpréter en HTML (car correcteur). J'ai remplacé par & lt; et & gt; (sans espace) :

#include<stdio.h>
#include<math.h>
#include<process.h>

void main()
{
double n, M, C, i, Max, Min, R;

Max = 50.0;
Min = 0.0;
printf("\n Entrez le capital: ");
scanf("%lf",&C);
printf("\n Entrez le montant d'une mensualite: ");
scanf("%lf",&M);
printf("\n Entrez le nombre de mensualites: ");
scanf("%lf",&n);
if(M > ((50.0/1200.0)*C*pow(1.0+(50.0/1200.0),n)) / (pow(1.0+(50.0/1200.0),n) - 1.0))
{
printf("\nLe Taux d'interet est superieur a 50 pourcent\n");
exit(0);
}
if(M*n < C)
{
printf("\nLe Taux d'interet est negatif\n");
exit(0);
}
i = (Max + Min)/2.0;

do
{
R = M - ((i/1200.0)*C*pow(1+(i/1200.0),n)) / (pow(1.0+(i/1200.0),n) - 1.0);
if (R > 0.0 && R*R > 0.0001)
{
Min = i;
i = (Min + Max)/2.0;
}
if (R < 0.0 && R*R > 0.0001)
{
Max = i;
i = (Min + Max)/2.0;
}
} while(R*R > 0.0001);
printf("\nLe taux d'interet est de %f pourcent\n",i);
printf("\n\nR=%lf",R*R);
}

edit :Trop tard, tu as été plus rapide que moi J-P

Posté par greg (invité)re : calcul d un taux avec une mensualité,capital,durée. 19-08-04 à 11:19

Je vous remercie tous de votre aide!
Je suis effectivement en train d'essayer de créer une boucle.Merci pour le prog en langage C mais je suis sous access et çà ne marche pas du tout pareil(Visual Basic comme langage ). Si j'y parviens je vous l'envoi çà pourra toujours servir.
Merci à tous.

Posté par greg (invité)j ai la réponse! 19-08-04 à 15:13

Aprés avoir fait un formulaire sous access avec quatre champs durée capital mensualité et taux + un bouton "calculer", il faut taper ce code dans le bouton:
Dim var1 As Double
Dim var2 As Currency
var1 = 0
var2 = 0
While var2 < Mensualité
var1 = var1 + 0.01
var2 = (Capital * ((var1 / 100) / 12) * (1 + ((var1 / 100) / 12)) ^ Durée) / (((1 + ((var1 / 100) / 12)) ^ Durée) - 1)
Wend
Taux = var1
Merci encore une fois a tous!
a bientot.

Posté par
J-P Posteur d'énigmes
re : calcul d un taux avec une mensualité,capital,durée. 19-08-04 à 17:02

Un algorithme est le même qu'il soit écrit en C, en Pascal ou en Basic.

Ton algo approche la vérité par pas de 0,01, celui que j'ai proposé a une approche dichotomique, qui devrait dans la moyenne des cas demander moins d'itérations.

Mais les 2 approches conduisent à la solution.


Posté par
vivacom
demande d'aide 21-04-08 à 13:42

c'est URGENT...

bonjour Mr greg j'ai le méme probléme que toi,je suis un informaticien et je veut programer une calculéte qui calcule le taux a partir de C(capital) et n(période mensuelle).
mais j'ai pas réussir. j'ai trouver des formules mais j'ai pas bien comprie.
svp est ce que vous pouvez m'aider souhaitant que vous avez résoudre ton probléme.

merci bcp.

Posté par
niparg
re : calcul d un taux avec une mensualité,capital,durée. 21-04-08 à 16:52

>bonjourj
>je voudrais faire une remarque:lorsqu'on donne dans un emprunt un taux d'intérêt annuel i et que les remboursements sont mensuels pour calculer le montant de la mensualité (ici constante ) en fonction du capital et de la durée, il faut définir  un taux d'intérêt mensuel m associé à i: certes la majorité des banques prennent m=i/12 (taux dit proportionnel à i ce qui d'un point mathématique est absurde: il serait préférable de choisir pour m le taux mensuel équivalent au taux i, c'est à dire le taux m défini par l'égalité (1+m)^12=1+i soit m=[(1+i)^1/12]-1 Or certaines banques européennes utilisent le taux mensuel équivalent (il me semble que la banque française "l'Ecureuil" appliquait ce principe)il faut donc que dans l'algorithme de calcul de la mensualité apparaissent ces deux possibilités:
pour vous convaincre de l'utilisation du taux équivalent on définit pour un emprunt, compte tenu des frais de dossier, du remboursement de l'assurance,...., un taux mensuel effectif p, puis on"passe" au taux effectif (annuel) global(TEG)j par la formule (1+p)^12=1+j
(décret de l'union européenne)ce qui est cohérent d'un point de vue mathématique
quant au calcul de m connaissant le capital C, la durée 12*n (en mois) elle se fait très rapidement par dichotomie
j'ai certainement répondu à côté de la question de greg



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !