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

Pascal Discussion :

Correction somme : (-1)^k*(x^(2k+1)/(2k+1)!)


Sujet :

Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 65
    Par défaut Correction somme : (-1)^k*(x^(2k+1)/(2k+1)!)
    J'ai deplacé ce message dans un nouveau post; oui en fait ça ne m'aide pas trop, dommage, en fait ce que je cherche à faire c'est cette somme :
    (-1)^k*(x^(2k+1)/(2k+1)!)
    le tout sans utiliser de fonction et dans une même boucle.
    Voici ma réalisation pour ce programme :
    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
    24
    25
    26
    27
    28
    29
    30
    program exo5;
    function taylor5(x:real;k:integer):real;
    var res,puiss:real;
    fact, i:integer;
    begin
    i:=1;
    res:=1;
    puiss:=1;
    fact:=1;
     
    while i<k do begin
    puiss:=puiss*x*-x;
    fact:= fact*(2*i+1)*(2*i);
    res:= res+((puiss)/(fact));
    i:=i+1;
     
     
    end;
    taylor5:=res;
    end;
    var
    x,res:real;
    k:integer;
     
     
    begin
    writeln(' donnez x et k pour |x|<1');
    readln(x,k);
    writeln(taylor5(x,k));
    end.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 158
    Par défaut
    puiss est égale à (1-)^i*x^2i donc ça ne va pas.

    Le calcul de (2i+1)! semble juste.

    Mais la somme commence avec i=0, non? Et dans ce cas, il ne faut pas faire i=0 car ton code n'ira pas (regarde pourquoi)

    Tu dois pouvoir t'en tirer en changeant les valeurs initiales

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 65
    Par défaut
    eu je n'est pas compri se que tu voullai me dire pour puiss??

    et sinon pour les valeur initiale j'ai fais pleinde permutation avec 0 , 1 x mais je ne trouve toujour pas les bon resultat de la ssomme.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 158
    Par défaut
    ta variable puiss vaut 1 au départ.
    au premier passage dans la boucle, puiss = -x*x
    au deuxième passage dans la boucle, puiss = x*x*x*x
    ...

    Ce n'est pas ce qu'il te faut, n'est ce pas?

    Pour les valeurs initiales, ne te "complique" pas à tester toutes les valeurs à l'aveuglette! Comprend ce que tu as écris plutot (c'est bien toi qui l'a écrit ce code).
    Par exemple, pourquoi as-tu initialisé res à 1? Quelle est la conséquence de cette valeur initiale? Est-ce ce que tu voulais obtenir?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 65
    Par défaut
    biensur qu'ilest de moi , sinon res devrai etre egale a 0 c'est se que j'ai mis au depart mais j'ai telement tout changer queje me susi melanger.

    mais je ne comprend pas en quoi ma premiere ligne est fausse? je sais que j'ai tord vue que sa ne marhe pas , mais pourquoi je ne vois pas.

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Par défaut
    Bonjour,
    Citation Envoyé par superdj
    biensur qu'ilest de moi , sinon res devrai etre egale a 0 c'est se que j'ai mis au depart mais j'ai telement tout changer queje me susi melanger
    Manifestement, c'est une habitude chez toi, tu le fais même avec le clavier, et avec le français.

    Sinon, tout cela donne l'impression d'être écrit dans le style
    "J'essaye ça, on verra bien si ça marche",
    suivi de modifications plus ou moins hasardeuses jusqu'à ce qu'on tombe sur un code donnant le résultat attendu, quand par pure chance on y arrive.

    Autre chose, indente ton code, et évite les lignes vides qui ne servent à rien (il faut en mettre quand même pour aérer le code, mais là ou elles servent effectivement, et de tout manière, jamais 2 ou 3 à la suite).

    Tu verras que ton code deviendra beaucoup plus facile à lire, et donc à comprendre, et à vérifier.

Discussions similaires

  1. [XL-2010] Formule somme correcte
    Par Narcleet dans le forum Excel
    Réponses: 4
    Dernier message: 06/08/2014, 17h05
  2. corrections des fonctions de sommes et #REF
    Par bigey3 dans le forum Excel
    Réponses: 5
    Dernier message: 20/07/2009, 21h29
  3. [CR ?] Somme d'heure sous Crystal ?
    Par Peter PARKER dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 17/04/2003, 16h24

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