Algorithme d'une suite

Bonjour,
qui peut m'aider à trouver la solution de cet exercice je sais que c'est simple mais je ne l'ai pas bien compris en tout cas voici l'énoncé:
Epsilon égale à la somme suivante : E= X0/0! + X1/1! + X2/2! + X3/3! + ..... +XN/N!
On se propose d'écrire un algorithme qui permet de calculer et d'afficher E, sachant que X et N deux entiers naturels non nuls donnés.
NB : On demande de décomposer le programme en sous-programmes élémentaires et simples.
-------------
Merci pour votre aide
Configuration: Windows XP
Firefox 3.0.5

2 réponses

  1. Je ne vais pas de donner la solution car c'est trop simple.
    On peut écrire la formule ainsi:
    E = somme (de 0 à l'infini) x^n / n!
    ...
    Il suffit donc de faire simplement un boucle de 0 à l'infini ( ;-) ) et de sommer la valeur: x^n / n!
    Tu t'apercevras alors que E n'est autre que e (eh oui ce n'est pas epsilon!).
    Bon courage.
    1. E= X0/0! + X1/1! + X2/2! + X3/3! + ..... +XN/N!
      calcule facto!!
      fact:=1;
      pour i:=1 à n fair
      fact:=fact* i,

      calcule expo
      exp:=1;
      pour i:=1 à n fair
      exp:=exp*x;

      algorithmme calcule;

      var n,fact,exp,i,x :entier; e:reel;
      debut
      lire(n); lire(x);
      fact:=1; exp:=1; e:=1;
      pour i:=1 à n fair
      fact:=fact* i ;
      exp:=exp*x;
      e:=e+(exp/fact);
      fair;
      ecrir(e);
      fin.

      program calcule;
      uses wincrt;
      var n,fact,exp,i,x :integer; e:real;
      begin
      writeln('donner la val de n');
      readln(n);
      writeln('donner la val de x');
      readln(x);
      e:=1; fact:=1; exp:=1;
      for i:=1 to n do
      begin
      fact:=fact* i ;
      exp:=exp*x;
      e:=e+(exp/fact);
      end;
      writeln('E= ',e:2:2);
      readln;readln;
      end.