Organisation des termes d’une série semi-convergente
A.1. On suit la d´finition de l’´nonc´. e e e suite:=proc(x,n) local k,p,q,s,S,list; p:=0;q:=0;S:=0;list:=[]; for k from 1 to n do if S>x then q:=q+1;s:=2*q-1 else p:=p+1;s:=2*p fi; S:=S+(-1)^s/s ; print(evalf(S)); list:=[op(list),s] od ; list end : A.2. Voici, ` titre indicatif, une fonction permettant l’affichage des points (n, Sn ). a suite2:=proc(x,n) local k,p,q,s,S,list; p:=0;q:=0;S:=0;list:=[[0,0]]; for k from 1 to n do if S>x then q:=q+1;s:=2*q-1 else p:=p+1;s:=2*p fi; S:=S+(-1)^s/s ; list:=[op(list),[k,S]] od : plot(list,style=point); end : Pour x = −1 et n = 70, on obtient le dessin suivant :
Ce n’est pas le sch´ma de l’´nonc´ ! Celui-ci a ´t´ trac´ avec une fonction suite o` le test e e e ee e u sur Sn est Sn ≥ x (et non Sn > x). cela ne change rien au principe de l’algorithme. On s’arrange pour choisir les sn de fa¸on que les Sn “oscillent” autour de x et que Sn → x. Pour ce faire, on c choisit le premier indice pair non utilis´ si l’on est en-dessous de x (on ajoute alors un terme e positif et le premier indice impair sinon (on ajoute alors un terme n´gatif). Les suites (pn ) et e 1
(qn ) permettent de savoir quel est le dernier indice pair ou impair utilis´ (2pn ou 2qn − 1). e B. On proc`de par r´currence sur n. e e - Initialement, on a q1 = s1 = 1, S1 = −1 et p1 = 0 (cas x < 0) ou p1 = 1, s1 = 2, S1 = 1/2 et q1 = 0 (cas x ≥ 0). Dans les deux cas, on a la propri´t´ voulue. ee - Supposons le r´sultat vrai jusqu’` un rang n ≥ 1. On doit encore distingur deux cas. e a - Si Sn > x alors qn+1 = 1 + qn , pn+1 = pn , sn+1 = 2qn+1 − 1 et Sn+1 = Sn + usn+1 et on a les relations voulues. - Si Sn ≤ x alors qn+1 = qn , pn+1 = 1 + pn , sn+1 = 2pn+1 et Sn+1 = Sn + usn+1 et on a les relations voulues. On en d´duit que e card{s(1), . . . , s(n)} = pn + qn = n ce qui indique que les s(k) sont deux ` deux distincts et que s est injective (si s(a) = s(b) avec a a <