Algo problème a resoudre
Résolu
zinedineilham
Messages postés
2
Statut
Membre
-
zinedinei Messages postés 2 Statut Membre -
zinedinei Messages postés 2 Statut Membre -
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
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
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
ou un truc proche de ça!
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!