Bonjour a tous,
J'ai un exercice qui me pose problème. En effet, écrire l'algorithme, ça va, mais le coder à la calculette... J'ai du mal à trouver de petites erreurs (ou des grosses !).
Voilà le sujet :
Le but de cet exercice est de déterminer le plus petit nombre entier n tel que :
1/2+1 + 1/
3+2 + 1/
4+3 +...+ 1/
n+1+n
100
1) Écrire un algorithme permettant de résoudre le problème
2)Programmer cet algorithme en écrivant votre programme sur votre copie et donner la solution au problème.
Etc. Mais le reste j'y arriverais tout seul
Voilà maintenant l'algorithme que j'ai écrit sur ma calculette casio 35+
0I;
0S;
While S<100;
S=1/((I+1)+
1);
I+1I;
"I=";
I{+le symbole pour l'afficher};
"S=";
S{+le symbole pour l'afficher};
WhileEnd;
Et je lance mon programme... Ca m'affiche
I=1
S=0
I=2
S=0
I=3
S=0
et ainsi de suite...
Merci de vos réponses
Bonjour,
Tu as mis des parenthèses dans le calcul de ton programme et tu as très certainement bien fait.
Malheureusement tu n'as pas mis de parenthèses dans l'énoncé qui est illisible :
1) L'initialisation de I ne doit pas se faire à 0 mais à 1
1 I
2) Pour le calcul essaye quelque chose comme :
S + 1/((I + 1) +
I)
S
Attention de ne pas confondre les I (les i) et les 1 (les uns)
Ça marche mais le problème c'est que j'ai du me tromper de type d'algorithme a utiliser, car au lieu de m'afficher le résultat directement, la calculette m'affiche toutes les étapes jusqu'à ce que S dépasse 100. Or je suis a i=41 et S n'est égal qu'à 5.4... Je ne pense pas que le prof veuille que j'appuie des milliers de fois sur 'exe' ? Plutôt que le résultat s'affiche directement non ?
Je crois que c'est bon, j'ai déplacé le WhileEnd pour le mettre avant le "I=", la calculette est en train de calculer.
Bien sûr...
Pour cela il faut remonter le WhileEnd
Il doit se trouver :
. après I + 1 1
. avant l'affichage de I et de S
Ta réponse... I = 10 201
c'est possible ! Je n'ai pas fait le programme et je n'ai pas essayé en calcul de tête
Bravo !
Petite erreur que j'ai réglée grâce a une personne de ma classe : S doit être initialisé à "1/((I+)+I)S" Et non pas a 0. On obtient alors une valeur finale pour I qui est de 10 200 au lieu de 10 201.
Donc N=10200
Pardon j'ai oublié d'insérer les symboles :
Petite erreur que j'ai réglée grâce a une personne de ma classe : S doit être initialisé à "1/((I+1)+
I)
S" Et non pas a 0. On obtient alors une valeur finale pour I qui est de 10 200 au lieu de 10 201.
Donc N=10200
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :