E22 BTS SIO Sujet mai 2017
PREMIER TRAVAIL 30 minutes sur papier
Voici deux algorithmes partiels écrits en Python 2.7.
Lisez les puis répondez aux questions.
from random import* import decimal def f(x): return ................... def suite(): N=100 u0=input("Donner la valeur de son premier terme u0 : ") print u0 u=f(u0) ecart=0.001 for i in range(1,N): print u v=f(u) if abs(u-v)<ecart: return "La suite ( un ) ............... vers ",v u=v return "La suite ( un ) ne ................ ........ " |
QUESTIONS:
1. Soit la suite ( un ) définie sur les entiers naturels par:
u0 = 1
un + 1 = √( un + 1) pour tout entier naturel n
Quelle expression en x doit-on mettre à la place des pointillés
dans le premier algorithme et quelle valeur de u0 doit-on saisir
dans le second algorithme ?
( Rappel , en Python 2.7 √ x est noté x**0.5 )
2. Quand on écrit for i in range(1,N):
avec N = 100 , quelles sont les valeurs prises par i ?
3. Que signifie if abs(u-v)<ecart:
avec ecart =0.001
4. Dans le second algorithme que doit-on mettre
à la place des pointillés ?
5. Quel est l'intérêt de ces deux algorithmes ?
6. a. Pour la suite (un ) telle que :
u0 = 1
un + 1 = f( un ) pour tout entier naturel n
avec f( x ) = 1. / x + 1
donner les valeurs exactes des ses cinq premiers termes
u1 , u2 , u3 , u4 ,u5
b. Que va afficher le second algorithme?
SECOND TRAVAIL 30 minutes sur ordinateur
1. Exécuter l'algorithme suite() pour chacune des suites
citées plus haut.
2. Proposer un algorithme , si possible en Python 2.7,
qui pour la suite ( un ) définie sur les entiers naturels
par : u0 = 1
un + 1 = √( x + 1) pour tout entier naturel n
affiche la liste L de ses 10 premiers termes .
--------------------------------------------------------------