Générer les termes d'une suite
Voici le code d'une fonction nommée suite_u()
définie en
Python :
def suite_u(n) :
u = 3
for k in range(1, n+1):
u = 2*k+3
return u
- Quelle valeur est renvoyée par l'appel
suite_u(3)
?
- Les valeurs renvoyées par cette fonction pour tout entier naturel
n
représentent les termes d'une suite $(u_n)$.
Donner l'expression du terme général $u_n$ en fonction de $n$.
- En déduire une définition « simplifiée » de la
fonction
suite_u()
.
- Question 1°/
- Question 2°/
- Question 3°/
Avec l'appel suite_u(3)
, k
prend successivement pour
valeurs les entiers 1, 2 puis 3.
La valeur renvoyée par cet appel est la dernière valeur prise par u
qui est alors 2*3+3
, c'est-à-dire 9.
On peut s'en convaincre en effectuant cet appel dans un interpréteur Python :
L'expression de $u_n$ en fonction de $n$ est $u_n = 2 n+3$.
Une expression simplifiée de la fonction suite_u()
est :
Générer en compréhension
On considère la liste L = [50+30*k for k in range(10)]
.
- Donner les deux premiers termes puis le dernier terme de cette liste.
- Cette liste contient les premiers termes d'une suite $(u_n)$.
Donner la définition de cette suite.
- Question 1°/
- Question 2°/
- Le premier terme
L[0]
vaut 50 ;
- Le deuxième terme
L[1]
vaut 50+30*1 soit 80 ;
- Le dernier terme
L[9]
vaut 50+30*9 soit 320 ;
Une exécution dans un interpréteur Python permet de vérifier ces réponses :
L'expression de $u_n$ en fonction de $n$ est $u_n = 50+30 n$.
Suite en compréhension
La suite $(u_n)$ est définie pour tout entier naturel $n$ par
$u_{n} = 3 n^2 -2 n +1$.
Définir en compréhension une liste L
qui contient les vingt
premier termes de la suite $(u_n)$.
Suite définie par récurrence
La suite $u_n$ est définie par $u_0 = 1$ et, pour tout entier naturel
$n$, par $u_{n+1} = 2 u_n + 3$.
Écrire une fonction en Python,
nommée terme()
, qui respecte les spécifications
suivantes :
Paramètres |
un réel u0,
un entier naturel n |
Valeur renvoyée |
celle de u$_n$ |
- Une solution
- Une autre solution

Cette solution n'est pas abordable pour les élèves : elle fait appel à la notion
informatique de récursivité, c'est-à-dire une fonction qui
fait appel à elle-même en modifiant certains des paramètres d'appel.
Programmer de manière récursive impose de traiter le cas de base
avant de se pencher sur le cas général qui, dans la situation présente, représente
l'expression de $u_{n+1}$ en fonction de $u_n$ :
Liste des termes d'une suite
La suite $(u_n)$ est définie par $u_0$ = 2 et, pour tout entier naturel
$n$, par $u_{n+1} = 3-5 u_n$.
Écrire le code d'une fonction Python nommée suite_u()
qui prend
en paramètre un entier n
et qui renvoie la liste des termes de
la suite $(u_n)$ de $u_0$ à $u$n
.
- Une solution
- Une autre solution
- Une dernière solution
Dans cette solution, on « prépare » la liste d'accueil en la remplissant
avec des 0 pour être au plus près de la définition par récurrence de la suite :
Variation de la solution précédente, sans préparer la liste à l'avance :
Récurrence et explicite
Voici le code d'une fonction nommée suite_u()
définie en
Python :
def suite_u(n):
u = 3
for i in range(1, n+1):
u = 2*u + i-1
return u
- Quelles valeurs sont renvoyées par les appels
suite_u(1)
,
suite_u(2)
puis suite_u(3)
?
- Les valeurs renvoyées par cette fonction pour tout entier naturel
n
représentent les termes d'une suite $(u_n)$.
Donner l'expression du terme général $u_n$ en fonction de $n$.
Vérifier en calculant $u_1$, $u_2$ et $u_3$ à la main.
- Question 1°/
- Question 2°/
L'appel suite_u(1)
envoie la valeur 6.
L'appel suite_u(2)
envoie la valeur 13.
L'appel suite_u(3)
envoie la valeur 28.
On peut s'en convaincre en effectuant ces appels dans un interpréteur Python :
La suite $(u_n)$ est définie par $u_0$=3 et, pour tout entier naturel $n$,
par $u_{n+1} = 2 u_n + n$.
Fibonacci
Écrire le code d'une fonction nommée fibo()
qui, pour un
entier n
passé en paramètre, renvoie la liste des
n
premiers termes de la suite de Fibonnacci définie par
$f_1$ = 1, $f_2$ = 1 et, pour tout entier strictement positif $n$ :
$$ f_{n+2} = f_{n+1} + f_n $$
- Une solution
- Une autre solution
- Une dernière solution

Dans cette solution, on « prépare » la liste d'accueil en la remplissant
avec des 0 pour être au plus près de la définition par récurrence de la suite :
Variation de la solution précédente, sans préparer la liste à l'avance :
Variation de la solution précédente, sans préparer la liste à l'avance :