Soit (u_n) la suite définie par :
\forall n \in \mathbb{N}, u_n = 4n+3
On souhaite écrire un algorithme qui pour un seuil L donné par l'utilisateur renvoie la plus petite valeur de n telle que u_n \gt L.
Quel est le sens de variation de la suite (u_n) ?
Dans la définition de la suite (u_n), on reconnaît le terme général d'une suite arithmétique de premier terme u_0=3 et de raison r=4.
(u_n)) est une suite arithmétique de raison positive, donc c'est une suite croissante.
Le fait que (u_n) soit arithmétique et croissante indique que la limite de (u_n) est +\infty. C'est ce qui assure que pour seuil L appartenant à \mathbb{R}, il existe un entier n tel que u_n \gt L .
La suite (u_n) est donc croissante.
Quelle fonction, écrite en Python, renvoie la valeur de u_n selon la valeur demandée de n ?
On souhaite écrire une fonction qui à n associe la valeur de u_n.
La variable d'entrée de l'algorithme est donc n.
La suite u_n est définie pour n entier naturel.
Il faut donc vérifier que la variable n est un entier naturel.
Si n est bien un entier naturel, alors il suffit de renvoyer 3n+4.
Sinon, il faut afficher un message d'erreur.
Cela donne :
def u(n):
if (type(n)==int) and (n>=0):
return 4*n+3
else :
print("n doit être un entier positif")
La fonction écrite en Python qui à n associe u_n est donc :
def u(n):
if (type(n)==int) and (n>=0):
return 4*n+3
else :
print("n doit être un entier positif")
Quel algorithme permet de trouver la plus petite valeur de n telle que u_n \gt L en fonction du L indiqué par l'utilisateur ?
On utilise la fonction u(n) définie dans la première question.
Dans un premier temps, il faut que l'utilisateur spécifie son seuil L.
Ensuite on utilise un compteur n qui démarre de 0.
Tant que u(n) n'est pas strictement supérieur à L, on incrémente n de 1.
Ainsi, on teste toutes les valeurs de n en partant de 0 jusqu'à trouver la plus petite valeur de n telle que u_n soit supérieur à L.
L'algorithme qui permet de trouver la plus petite valeur de n telle que u_n \gt L en fonction du L indiqué par l'utilisateur est donc :
L=float( input('Quel seuil choisissez-vous ? \n'))
n=0
while u(n)<= L :
n=n+1
print(n)