IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Calcul de la somme des intérêts


Sujet :

C

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 4
    Par défaut Calcul de la somme des intérêts
    Je dispose d'un compte en banque et je veux calculer la somme totale des intérêts concernant l'argent déposé à la banque sachant que :

    -je dépose des sommes mensuelles à taux d'intérêt de 6%
    -la première année je dépose chaque mois 1000 euros
    -la deuxième année je dépose chaque mois 1500 euros
    -la troisième année je dépose chaque mois 3000 euros

    Le programme que j'ai fait est le suivant en C:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    #include<stdio.h>
    int main (){
    int i,m=1000;
    double n=0.0;
    	for(i=1;i<=12;i++){
     		n=0.06*m+n;//n représente les intérêts
    		m=1000+m+n;
    		}
     
    	for(i=1;i<=12;i++){
    		m=1500+m+n;
    		n=0.06*m+n;
     
    	}
     
    	for(i=1;i<=12;i++){
    		m=3000+n+m;
    		n=0.06*m+n;
     
    	}
    		printf("Les interets accumules sont %f",n);
    return(0);		
    }
    Ce programme me donne comme résultat 4268748 ce qui est clairement incohérent !

    Je vous serai vraiment reconnaissante si vous pouviez m'aider. Merci d'avance.

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 449
    Par défaut
    Bonjour,

    Les « n » suivants sont en trop, je crois :

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    for(i=1;i<=12;i++){
     		n=0.06*m+n;//n représente les intérêts
    		m=1000+m+n;
    		}
    
    	for(i=1;i<=12;i++){
    		m=1500+m+n;
    		n=0.06*m+n;
    		
    	}
    	
    	for(i=1;i<=12;i++){
    		m=3000+n+m;
    		n=0.06*m+n;
    	
    	}

  3. #3
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Je crois plutôt qu'il a un très bon placement qui rapporte 6% par mois (ce qui doit faire plus de 100% par an comme intérêt)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	for(i=1;i<=12;i++){
     		n=0.06*m+n;//n représente les intérêts
    		m=1000+m+n;
    		}....

  4. #4
    Futur Membre du Club
    Inscrit en
    Août 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 4
    Par défaut erreur evidente quelque part
    Oui d'accord, mais le résultat que j'ai obtenu de l'ordre de 4 millions est clairement incohérent c'est impossible, il doit y avoir une erreur quelque part
    Merci d'avance!!!!

  5. #5
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 449
    Par défaut
    Citation Envoyé par diogene Voir le message
    Je crois plutôt qu'il a un très bon placement qui rapporte 6% par mois (ce qui doit faire plus de 100% par an comme intérêt)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	for(i=1;i<=12;i++){
     		n=0.06*m+n;//n représente les intérêts
    		m=1000+m+n;
    		}....
    Oui, mais dans sa première ligne, il ajoute n à n pour calculer ses intérêts, eux-mêmes additionnés à son capital m à la ligne suivante.

    Ce n'est même plus du 6% par mois, mais du 106% ! À ce taux, je signe tout de suite ! :-)

  6. #6
    Futur Membre du Club
    Inscrit en
    Août 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 4
    Par défaut QUELLE EST LA CORRECTION?
    et a ton avis qu'est ce que jaurai du ecrire?

  7. #7
    Futur Membre du Club
    Inscrit en
    Août 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 4
    Par défaut mauvaise interprétaion de mn code
    Citation Envoyé par Obsidian Voir le message
    Oui, mais dans sa première ligne, il ajoute n à n pour calculer ses intérêts, eux-mêmes additionnés à son capital m à la ligne suivante.

    Ce n'est même plus du 6% par mois, mais du 106% ! À ce taux, je signe tout de suite ! :-)
    je n'ajoute pas n à m , je multipllie d'abord m par 0.06 et ensuite je le rajoute à n ce qui contredit ce que tu mas dit

  8. #8
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    - L'erreur est sur le calcul du nouveau capital :
    - m doit aussi être en double

    - Je crois qu'il y a des erreurs sur les bornes : pour un intérêt de 0% on doit avoir un capital de 12*(1000+1500+3000) = 66000 alors que le programme donne 67000.

    - Si k est l'intérêt mensuel et V le versement mensuel :
    Au début du mois 1, on verse V qui à la fin du mois 1 nous donnera comme capital V*(1+k),
    à la fin du mois 2 V*(1+k)^^2... à la fin du 12ieme mois V*(1+k)^^12
    De même le versement de V au début du deuxième mois donnera en fin d'année V*(1+k)^^11
    ...
    et le versement au début du 12ieme mois donnera en fin d'année V(1+k)
    Au total, on a en fin d'année V*( (1+k)+(1+k)^^2 +... (1+k)^^12) = V*(((1+k)^^13-1)/k -1)
    ce qui nous donne pour k = 0.06 la somme de 17.8821*V (donc un intérêt total de 5.8821*V)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    double TauxMensuel = 0.06;
    double Capital = 0;
    double TotalInteret = 0.00;
    double Versement = 1000.0;
    double Interet;
    int i ;
    for(i=1;i<=12;i++)
    {
        Capital += Versement ;
        printf("capital au debut du mois %d %f\n",i,Capital);
        Interet = TauxMensuel*Capital;
        TotalInteret += Interet;
        Capital += Interet;
        printf("capital a la fin du mois %d %f\n\n",i,Capital);
    }

  9. #9
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 449
    Par défaut
    Essaie déjà de retirer de ton code toutes les parties que j'ai marquées en rouge et regarde si tu obtiens un résultat plus cohérent. ATTENTION : dans la première boucle, tu calcules n avant m. C'est le contraire dans les deux autres.

Discussions similaires

  1. Réponses: 8
    Dernier message: 03/07/2013, 17h46
  2. Calcul de la somme des valeurs d un champ
    Par JeanduB dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 01/04/2008, 09h20
  3. calcul du somme des valeurs ds un fichier
    Par meera dans le forum Visual C++
    Réponses: 5
    Dernier message: 19/11/2006, 12h22
  4. Réponses: 3
    Dernier message: 24/08/2006, 11h56
  5. [newbie]comment calculer la somme des nb pages sum()?
    Par megapacman dans le forum Débuter
    Réponses: 3
    Dernier message: 13/06/2006, 11h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo