Un algorithme de seuil est un algorithme ayant pour objectif de trouver le premier entier n0 à partir duquel tous les termes de la suite (un) satisfont une condition imposée.

Exemple 1 : suite définie de façon explicite
On considère la suite (un) définie pour tout entier naturel n par l’égalité:un=n2+3x+5n2+1.On cherche le premier entier n0 à partir duquel un⩽1,1.
Le programme suivant peut alors être considéré:
# on définit une fonction u(n) qui retourne la valeur de u(n) def u(n): return (n*n + 3*n + 5) / (n*n + 1) # ici commence le programme de seuil n = 0 while u(n) > 1.1: n = n + 1 print("Le premier entier 'n' tel que u(n) <= 1.1 est : {}".format(n))
Ce programme affiche la valeur 32 car u31≈1.1008>1.1 (donc la condition de la boucle while est vraie, ce qui a pour conséquence d’entrer dans la boucle et d’ajouter 1 à n), et comme u32≈1.09756<1.1, la condition de la boucle while n’est plus satisfaite, ce qui fait que l’on sort de la boucle. La valeur stockée dans n est donc 32.
Exemple 2 : suite définie par récurrence
On considère la suite (vn) définie par son premier terme v0=7 et par la relation de récurrence:vn+1=12(vn+5vn)pour tout entier naturel n.
Déterminons le premier indice à partir duquel vn⩽2.24. On utilise alors le programme suivant:
# on commence par initialiser les variables n = 0 v = 7 # ici commence le programme de seuil while v > 2.24: n = n + 1 # l'indice du terme est incrémenté de 1 v = 0.5 * (v + 5 / v) # on utilise la relation de récurrence pour calculer le terme suivant print(v) print("Le premier entier 'n' tel que v(n) <= 2.24 est : {}".format(n))
Il affiche la valeur 4. En effet, v3≈2.26>2.24 alors que v4≈2.236.
N’oubliez pas que si vous avez besoin d’un cours de maths, vous pouvez réserver un cours sur cette page.