Python en Mathématiques - Niveau 2

Algorithmes usuels

Nuage de points

On considère les suites $(u_n)$ et $(v_n)$ définies respectivement par :

  • $u_1 = 26$ et, pour tout entier naturel $n$, par $u_{n+1} = u_n + 7$ ;
  • $v_1 = 26$ et, pour tout entier naturel $n$, par $v_{n+1} = 1,1 v_n$.
  1. Représenter les nuages de points de ces deux suites pour les entiers naturels $n$ tels que $1 \leqslant n \leqslant 25$.
  2. Que peut-on conjecturer ?
  • Un code possible
  • Conjecture

# import d'un module pour tirage au hasard
from random import randint
# import d'un module pour tracer les nuages :
from matplotlib.pyplot import *

#----- Définition des listes des termes des suites -----##
def suite_u(n) :
    u = 26
    U = [u]
    for i in range(2, n+1):
        u = u+7
        U.append(u)
    return U

def suite_v(n) :
    V = [26]
    for i in range(1, n):
        V.append(1.1*V[i-1])
    return V

# liste d'entiers de 1 à 25 :
n = 25
X = list(range(1, n+1))

# liste des termes de la suite u :
Yu = suite_u(n)

# liste des termes de la suite v :
Yv = suite_v(n)

# tracé d'un nuage de points (n, u_n) pour n dans X en rouge
# tracé d'un nuage de points (n, v_n) pour n dans X en bleu
plot(X, Yu, 'r o',X, Yv, 'b s')
show()

On peut conjecturer qu'à partir d'un certain rang, les termes de la suite $(v_n)$ deviennent supérieurs aux termes de même rang de la suite $(u_n)$.

Il reste ensuite à le faire prouver aux élèves...

Algorithme de seuil

La suite $(u_n)$ est définie par $u_0 = 13$ et, pour tout entier naturel $n$, par $u_{n+1} = 0,2 u_n + 0,8$.

Écrire une fonction en Python nommée seuil() et qui respecte la spécification suivante :

Paramètres un réel u0,
et un entier naturel p
Valeur renvoyée le plus petit entier n tel que u$_n$ soit proche de 1 à 10$^{-p}$ près

Tester cette fonction avec différentes valeurs de p tout en gardant $u_0$ de valeur $13$.

  • Fonction utile
  • Une solution

La fonction abs() définie par défaut en Python renvoie la valeur absolue du nombre passé en paramètre.


			
			

Somme des termes d'une suite

La suite $(u_n)$ est définie par $u_1 = 1$ et, pour tout entier strictement positif $n$, par $u_{n+1} = u_n + 6 n + 5$.

  1. Écrire une fonction en Python nommée suite_u() qui renvoie la valeur de $u$n pour un entier strictement positif n passé en paramètre.
  2. La suite $(u_n)$ est-elle arithmétique ? géométrique ?
  3. On pose $v_n = u_{n+1}−u_n$.
    Écrire une fonction en Python nommée suite_v() qui renvoie la valeur de $v$n pour un entier strictement positif n passé en paramètre.
  4. Calculer les premiers termes de la suite $(v_n)$.
    Que peut-on conjecturer ?
  5. Justifier cette conjecture.
  6. Écrire une fonction en Python nommée somme_v() qui renvoie la somme des termes de $v$1 à $v$n pour un entier strictement positif n passé en paramètre.
    En déduire les sommes successives pour n allant de 1 à 10.
  7. On définit en Python la fonction suivante :
    
    def mystere(n) :
        return suite_u(n+1) - suite_u(1)
    
    Calculer les premiers termes de cette suite.
    Que peut-on conjecturer ?
  8. Démontrer cette conjecture puis exprimer $u_n$ en fonction de $n$.
  • Question 1°/
  • Question 2°/
  • Question 3°/
  • Question 4°/
  • Question 5°/
  • Question 6°/
  • Question 7°/
  • Question 8°/

			
			

L'écart entre deux termes consécutifs n'est pas constant : la suite $(u_n)$ n'est pas arithmétique.
Le quotient entre deux termes consécutifs n'est pas constant : la suite $(u_n)$ n'est pas géométrique.


			
			

L'écart entre deux termes consécutifs de la suite $(v_n)$ semble constants. On peut conjecturer que la suite $(v_n)$ est arithmétique.

$v_n = u_{n+1}-u_n = 6 n + 5$ donc $v_{n+1} = 6 (n+1) + 5 = 6 n + 6 + 5 = v_n + 6$.
La suite $(v_n)$ est bien arithmétique de raison 6 et de premier terme $v_1 = u_2 - u_1 = 12 - 1 = 11$.


			
			

			
			

On peut conjecturer que la somme des $n$ premiers termes de la suite $(v_n)$ est égale à la différence $u_{n+1}-u_1$.

On désigne par $S_n$ la somme des $n$ premiers termes de la suite $(v_n)$.
Puisque $(v_n)$ est une suite arithmétique de raison 6 et de premier terme $v_1 = 11$, on en déduit : $$ S_n = n \times \frac{v_1+v_n}{2} = n \times \frac{11+6n+5}{2} = 3 n^2 + 8 n $$ Par ailleurs : $$ S_n = v_n + v_{n-1} + ... + v_2 + v_1 = (u_{n+1}-u_n) + (u_n - u_{n-1}) + ... + (u_3-u_2) + (u_2-u_1) = u_{n+1}-u_1 $$ On en déduit :
$u_{n+1} = S_n + u_1 = 3 n^2 + 8 n + 1$ d'où $u_n = 3 n^2 + 8 n + 1 - (6 n + 5) = 3 n^2 + 2 n - 4$

On peut le vérifier à l'aide d'une fonction supplémentaire :