• Aucun résultat trouvé

n=input('Donnez la valeur de n

N/A
N/A
Protected

Academic year: 2022

Partager "n=input('Donnez la valeur de n"

Copied!
2
0
0

Texte intégral

(1)

ECE2 Informatique - Suites et séries - Corrigé Septembre 2021 - EXERCICE1 -

On considère une suite(un)définie par son premier termeu0=1et pour tout entiern, un+1=un+ 1 un. 1. Écrire un programme en Scilab qui calcule et affiche la valeur deunlorsque l’utilisateur entre la valeur

denau clavier.Pourn=100, on trouveu100=14.284064.

n=input('Donnez la valeur de n : ')

u = 1 ; // u0=1

for i = [1:n] do // boucle pour calculer tous les termes de 1 à n

u = u+1/u ; // calcul du terme suivant (qui écrase l'ancienne valeur) enddisp(u)

2. Écrire une fonction en SciLab d’entête function u = suite_u(n) prenant comme paramètre un entiernet renvoyant la valeur deun.

function u = suite_u(n) : // le résultat devra être rangé dans la variable u

u = 1 ; //

for i = [1:n] do // même programme

u = u+1/u ; //

end //

endfunction

3. Écrire une fonction en SciLab d’entête function VectU = valeurs_u(n) prenant comme paramètre un en- tiernet renvoyant toutes les valeurs deu0àunrangées dans un vecteur.

Deux solutions :

• En remplissant le vecteur au fur et à mesure.

function VectU = valeurs_u(n) : le résultat devra être rangé dans la variable VectU

u=1 // u0=1

VectU = [u] // Initialisation de VectU avec la première valeur de u for i = [1:n] do //

u = (u+1/u) ; // Calcul de la nouvelle valeur de u

VectU = [VectU,u] // Recopie le contenu de VectU et ajout de la nouvelle valeur de u

end //

endfunction

• En construisant un vecteur rempli de 0 et en modifiant les valeurs au fur et à mesure.

function VectU = valeurs_u(n) : le résultat devra être rangé dans la variable VectU

u=1 // u0=1

VectU = zeros(1,n+1) // Initialisation de VectU avec des 0 : (0,0,0,0,0,0,0) VectU(1) = u // On change la première valeur de VectU par u0

for i = [2:n+1] do //

u = (u+1/u) ; // Calcul de la nouvelle valeur de u

VectU(i) = u // On change la i-ième valeur de VectU par la nouvelle valeur de u

end //

endfunction

4. Écrire un programme en Scilab permettant de déterminer et d’afficher le plus petit entier naturelnpour lequelun100.On trouven=4998.

n = 0 ; // On retient l'indice

u = 1 ; // u0=1

while u < 100 do // tant que la valeur de u ne dépasse par 100, on calcule la nouvelle u = u+1/u ; // Calcul de la nouvelle valeur de u

n = n+1 ; // On augmente l'indice enddisp(n)

–1/4–

On considère le programme SciLab et le graphique associé ci-dessous.

u = 1 ; eq = [1] ; for i = 1:200

u = u + 1/u ;

eq = [eq,u/sqrt(2*i)]

endplot2d([0:200],eq);

5. (a)Les termes de quelle suite sont contenus dans la variableeqen fin de boucle ?

A chaque passage dans la boucle, on calcule la valeuruipuis on ajoute au vecteureqla valeur ui p2i. Ainsi, en fin de boucle, le vecteureqcontiendra tous les termes ui

p2ipourientre 1 et 200. En d’autres termes,eqcontient les termes de la suitewn= un

p2n.

(b) A l’aide du graphique, conjecturer alors un équivalent de la suite(un)en+∞ainsi que la limite.

Le graphique représente le vecteureq, soit les premiers termes de la suitewn= un

p2nd’après la ques- tion précédente.

Or, on remarque sur le graphique que : lim

n→+∞wn=1 soit lim

n→+∞

un p2n=1.

Ainsi, on a : un

+∞

p2n puis lim

n→+∞un= lim

n→+∞

p2n= +∞.

(c)Prouver votre conjecture concernant la limite de la suite.

On montrera que la suite est croissante et non majorée.

–2/4–

(2)

• On montre très facilement par récurrence que la suite est à termes positifs.

Ainsi, on a : un+1un= 1

un>0 donc la suite est strictement croissante.

• Montrons par l’absurde que cette suite n’est pas majorée.

Supposons donc que cette suite soit majorée. On a alors : (un) est strictement croissante et ma- jorée donc elle converge versℓ. En passant à la limite dans la relation de récurrence, on obtient alors : =ℓ+1

soit1

=0 ce qui est absurde.

Donc l’hypothèse de départ est fausse et la suite n’est pas majorée.

Finalement, la suite (un) est strictement croissante et non majorée donc elle diverge vers+∞.

6. A l’aide de la fonction cumsum et de la fonction valeurs_u, écrire un programme en SciLab permettant de calculer la somme

100

X

n=0

un.

La fonctioncumsumajoute les termes contenus dans un vecteur. Il faut donc utiliser la fonctionvaleurs_u qui renvoie tous les termes de la somme dans un vecteur puis utiliser la fonctioncumsumsur le résultat de cette fonction. Cela donne :

V = valeurs_u(100) \\ V contiendra les 101 premiers termes de la suite u S = cumsum(V) \\ S est un vecteur contenant les sommes cumulées de V disp(S(101))

7. (a) Écrire une fonction en SciLab d’entête function S = Som(n) prenant comme paramètre un entiern et permettant de calculer la somme

Xn k=0

1 un. function S = Som(n)

u = 1 ; S = 1/u ; for i = 1:n

u = (u+1/u) ; S = S+ 1/u ; endendfunction;

(b) On considère les instructions Scilab suivantes : --> Som(10)

ans = 3.9975327 --> Som(100)

ans = 13.354072 --> Som(1000)

ans = 43.801548

--> Som(10000) ans = 140.4508 --> Som(100000)

ans = 446.22419 --> Som(10000000) ans = 4471.1373 (c) Que peut-on conjecturer sur la série de terme général 1

un? On peut conjecturer que la série de terme général 1

undiverge (lentement) vers+∞.

(d) Démonter ce résultat.

On tire de la relationun+1=un+ 1

unl’égalité suivante : 1

un=un+1un puis une somme téléscopique.

Ainsi, on a pourN∈N:

Xn k=0

1 un=

Xn k=0

uk+1uk=un+1u0

Or, on a vu queun∼p

2n donc lim

n→+∞

Xn k=0

1 un= lim

n→+∞un+1u0= +∞ et la série de terme général 1 un diverge.

–3/4–

- EXERCICE2 -

On considère une suite(vn)n∈Ndéfinie par :v1=1et pour tout entiernnon nul,vn+1=vn+ 1 n2vn. 1. Écrire une fonction en SciLab d’entête function v = suite_v(n) prenant comme paramètre un entiernet

renvoyant la valeur devn.

Pour le calcul dans la boucle : On calculevià partir devi−1, la formule devenant alors : vi=vi−1+ 1 (i−1)2vi. function v = suite_v(n) : // le résultat devra être rangé dans la variable v

v = 1 ; // v_1 = 1

for i = [2:n] do // boucle pour calculer tous les termes de 2 à n v = v + 1/((i-1)^2*v) ; // calcul du terme d'indice i

endendfunction

2. On admet que la suite(vn)converge vers une limitevérifiant : pour toutp2, 0ℓ−vp1 p−1. Écrire alors un programme SciLab qui renvoie une valeur approchée deà10−4près.

• La relation 0⩽vp1

p−1 montre que l’écart entrevpetest inférieur à 1

p−1. Ainsi, il suffit de déterminer une valeur deppour laquelle 1

p−1⩽10−4et de donner la valeur devpcorrespondante.

v = 1 ; // v_1 = 1

v = v + 1/v // calcul de v_2 car la relation n'est

p = 2 // valable que pour p>=2

while 1/(p-1) > 10^(-4) do // tant que l'approximation n'est pas assez précise // on calcule la nouvelle valeur de v

v = v + 1/(p^2*v) ; // Calculs de v_3, v_4, ...

p = p + 1 ; // On augmente l'indice enddisp(v)

• Autre méthode : On détermine à la main la valeur depqui convient, à savoir : 1

p−1⩽104⇐⇒p−1⩾104⇐⇒p104+1 et on calcule avec la fonction de la question précédente :

p = 10^4 + 1 // indice calculé à la main

v = suite_v(p) // calcul du terme d'indice p de la suite v disp(v)

- EXERCICE3 -

On considère la suite à récurrence linéaire d’ordre 2(un)définie, pour toutn∈N, par : u0=0,u1=2, et un+2=7un+1−3un.

Compléter la fonction SciLab suivante afin qu’elle renvoie le terme généralunen fonction den.

function res = u(n) Uold = 0 Unew = 2 for i = [2:n]

Uaux = 7*Unew - 3*Uold // On calcule le nouveau terme à partir des deux précédents Uold = Unew // On met à jour les termes précédents (décalage)

Unew = Uaux // On met à jour les termes précédents (décalage) endres = Unew

endfunction

–4/4–

Références

Documents relatifs

Pour comparer les valeurs numériques de la somme avec l’expression en arctan, utiliser la fonction evalf.. Cette création est mise à disposition selon

• L’explication concerne les éléments dégagés par la description : pourquoi telle région est peuplée, pourquoi des migrations vers le sud… Donc il faut indiquer ici la Sun

1-Maitrise insuffisante 2-Maîtrise fragile 3-Maîtrise satisfaisante 4-Très bonne maîtrise -Reconnaitre et distinguer des problèmes relevant de situations

1) Toutes les informations sur les expositions terminées avant le 01/01/2012 qui ont eu plus de 2000 visiteurs par ordre décroissant de visiteurs. 2) Liste des informations sur les

[r]

termes somme résultat..

ORGANISATION DE DONNEES – FONCTIONS.. Pour calculer une image il faut

Calculer une factorielle est le processus qui consiste à multiplier un nombre entier par tous les nombres entiers positifs inférieurs à celui-ci. b) Si vous n’êtes pas en