Algo problème a resoudre

Résolu/Fermé
zinedineilham Messages postés 1 Date d'inscription samedi 22 novembre 2008 Statut Membre Dernière intervention 23 novembre 2008 - 23 nov. 2008 à 15:25
zinedinei Messages postés 2 Date d'inscription samedi 22 novembre 2008 Statut Membre Dernière intervention 23 novembre 2008 - 23 nov. 2008 à 15:36
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 jeudi 19 juillet 2007 Statut Membre Dernière intervention 12 avril 2022 120
23 nov. 2008 à 15:34
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 samedi 22 novembre 2008 Statut Membre Dernière intervention 23 novembre 2008
23 nov. 2008 à 15:36
merci bcp
0