Algo problème a resoudre

Résolu
zinedineilham Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
zinedinei Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je recherche de l'aide pour résoudre ce problème
l'algorithme qui permet de calculer la suite suivante:
s=1-1/2+1/3...................1/n
pour cet exercice j'ai proposé cette solution
début
variable n,i: entier;
s:réel;
s←1;
i←2;
écrire(''taper la valeur de n");
lire(n);
tan que (i<=n) faire
s ← s-1/i;
i ← i+1;
s ← s+1/i;
i ← i+1;
fin tan que;
écrire("la somme est",s);
fin;

mais le problème que j'ai eu c'est que ce programme s'arrête tjrs dans la valeur impaire si je tape une valeur paire il va ajouter une valeur impaire dans la somme par ex :
si je tape 4 dans la valeur de n la somme sera s=1-1/2+1/3-1/4+1/5 et ce n'est pas ça notre besoin
je recherche de l'aide pour résoudre ce problème

2 réponses

tarek_dotzero Messages postés 817 Date d'inscription   Statut Membre Dernière intervention   122
 
Salut,

Mais bien sure: i est initialisé à 2 puis à chaque itération, vous ajoutez 2, il est toujours pair.
Donc en ajoutant à A, il donne toujours ce impair.
Vous pouvez utilisez un truc plus simple, un entier initialisé à 1 et à chaque itération vous le multipliez par -1

s := 0;
i := 1;
coeff := 1;

tant que (i <= n)
     s := s + coeff * (1/i)
     i := i + 1;
     coeff := coeff * (-1)
fin tant que



ou un truc proche de ça!
0
zinedinei Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
merci bcp
0