Suite mathématique⚓︎
Soit la suite définie par récurrence par :
On souhaite créer la fonction terme
qui calcule le terme de cette suite au rang n
.
On pourra utiliser une méthode itérative ou récursive.
Traduction d'une suite en algorithme
\(u_0=3\) signifie que pour \(n=0\) alors le terme \(u =3\). On initialise donc les variables n
et u
aux valeurs correspondantes.
Ensuite, connaissant le terme d'indice \(n\), on calcule le terme suivant, celui d'indice \(n+1\), grâce à l'instruction :
u = 5*u + 2
L'expression est exécutée en débutant par le membre de droite : 5*u + 2
est tout d'abord évalué, puis le résultat est affecté à la variable u
. Cette variable contient donc successivement les différentes valeurs de \(u_n\).
Calculer un terme au rang n
non nul revient donc à calculer chaque terme du rang \(1\) au rang \(n\).
assert
?
Le mot clé assert
est utilisé en Python afin de vérifier que des propositions sont vraies.
Ainsi, l'expression assert 3 + 5*7 == 38
permet de vérifier que l'expression 3 + 5*7
est bien évaluée à 38
.
Si c'est le cas, le programme continue de se dérouler normalement. Dans le cas contraire, le programme est interrompu et une erreur est signalée.
range
?
La fonction range
permet de générer une série de nombres entiers. On l'utilise régulièrement dans les boucles for
. Elle a trois syntaxes différentes :
-
range(fin)
: génère les entiers compris entre0
(inclus) etfin
(exclu). On répète donc les instructionsfin
fois ; -
range(debut, fin)
: génère les entiers compris entredebut
(inclus) etfin
(exclu) ; -
range(debut, fin, pas)
: génère les entiers compris entredebut
(inclus) etfin
(exclu) en les parcourant depas
enpas
.
Donc :
-
for i in range(5)
: parcourt les entiersi
dans[0, 1, 2, 3, 4]
; -
for i in range(1, 5)
: parcourt les entiersi
dans[1, 2, 3, 4]
; -
for i in range(1, 5, 3)
: parcourt les entiersi
dans[1, 4]
.
# Tests
(insensible à la casse)(Ctrl+I)
# Tests
(insensible à la casse)(Ctrl+I)