Épreuve pratique 2009, sujet 58

samedi 7 novembre 2009
par  Alain BUSSER

Termes de la suite v

Pour calculer les termes de la suite $(v_n)_{n\in \N^*}$, on le fait par récurrence, puisque $v_n=v_{n-1}+\frac{1}{n^2}$ : On initialise donc la variable vn à 0, puis dans une boucle sur n, on additionne répétitivement $\frac{1}{n^2}$ à vn pour avoir $v_n$, et on imprime le résultat (n et vn) :

/*Programme tp 58a
*/
var vn=0;
for(n=1;n<=500;n=n+1){
	vn=vn+1/Math.pow(n,2);
	Println(n+","+vn);
}

Comparaison de termes successifs

Puisque $v_{n+1}-v_n=\frac{1}{(n+1)^2}$, on utilise une boucle dont la condition de sortie est $\frac{1}{(n+1)^2}<10^{-3}$ :

/*Programme tp 58b
*/
var vn=0;
var n=1;
while(1/Math.pow(n,2)>1E-3){
	vn=somme+1/Math.pow(n,2);
	n=n+1;
	Println(n+","+vn);
}

On trouve 31, et en remplaçant 1E-3 par 1E-5 on trouve 316.


La suite x

Il suffit d’ajouter une ligne dans la boucle du premier script, et bien entendu une variable xn :

/*Programme tp 58c
*/
var vn=0,xn=0;
for(n=1;n<=500;n=n+1){
	vn=vn+1/Math.pow(n,2);
	xn=vn+1/n;
	Println(n+","+vn+","+xn);
}

Représentation graphique des deux suites

Encore une modification à apporter au script précédent, en remplaçant l’affichage de nombres (n, vn et xn) par la création de points (en vert, $v_n$ et en rouge, $x_n$) :

/*Programme tp 58d
*/
var vn=0,xn=0;
for(n=1;n<=500;n=n+1){
	vn=vn+1/Math.pow(n,2);
	xn=vn+1/n;
	a=Point(n/10,vn);
	SetPointType(a,"point");
	SetColor(a,"green");
	b=Point(n/10,xn);
	SetPointType(b,"point");
	SetColor(b,"red");
}

La représentation graphique ressemble à ceci :

On conjecture que les suites sont adjacentes.


Commentaires