l'algo du bac S
Publié : jeu. juin 21, 2012 7:28 pm
Un exercice de l'épreuve de ce matin consiste à écrire l'algo pour calculer le terme général de la suite u(n)=1+1/2+...+1/n-ln(n). En Xcas on peut faire:
Les 10 premiers termes sont donnés par seq(evalf(Terme(n),3),n,1,10)
Le centième terme est evalf(Terme(100),3)
Dans l'énoncé on donne aussi u(1000), u(1500) et u(2000). Qu'à cela ne tienne faisons seq(evalf(Terme(n),3),n,1000,2000,500) et là surprise on obtient [-2147483.649,-2147483.649,-2147483.649] ce qui pour une suite minorée par 0 ne laisse pas d'étonner.
On arrange la chose en faisant seq(evalf(Terme(n),14),n,1000,2000,500) ou seq(round(evalf(Terme(n),14),3),n,1000,2000,500)
Je m'excuse de poser cette question rebattue mais j'aimerais ne pas dire trop de bêtises à la rentrée aux futurs bacheliers. Donc pourquoi cette réponse fausse ?
Code : Tout sélectionner
Terme(n):={
local res;
res:=0;
pour k de 1 jusque n faire
res:=res+1/k
fpour
res:=res-ln(n)
retourne res
}
Le centième terme est evalf(Terme(100),3)
Dans l'énoncé on donne aussi u(1000), u(1500) et u(2000). Qu'à cela ne tienne faisons seq(evalf(Terme(n),3),n,1000,2000,500) et là surprise on obtient [-2147483.649,-2147483.649,-2147483.649] ce qui pour une suite minorée par 0 ne laisse pas d'étonner.
On arrange la chose en faisant seq(evalf(Terme(n),14),n,1000,2000,500) ou seq(round(evalf(Terme(n),14),3),n,1000,2000,500)
Je m'excuse de poser cette question rebattue mais j'aimerais ne pas dire trop de bêtises à la rentrée aux futurs bacheliers. Donc pourquoi cette réponse fausse ?