# code python :
# 1) Lire les données définissant la suite :
# les raisons q et r ainsi que u0 (départ de la suite)
# puis le nombre n0 de départ et le nombre nmax d'itération souhaité
#
# Remarque :
# Ne pas mettre de lettres accentuées dans les textes du code
# SyntaxError: invalid string (possibly contains a unicode character)
q = float(input("Entrez q"))
r = float(input("Entrez r"))
n0 = int(input("Entrez n0"))
u0 = float(input("Entrez u0(n0)"))
niter = int(input("Entrez le nombre max d'iterations : niter"))
# on vérifie les types des variables :
# print("types :", type(n0), type(niter))
# on rappelle les données :
print("donnees : (q, r, n0, u0, niter) =", q, r, n0, u0, niter)
# 2) initialiser n = n0 et u = u0
n = n0
u = u0
# 3) faire une boucle de nmax itérations
for i in range(niter) :
# éventuellement on imprime : n et u
print("u(", n, ") =", u)
# remarque : n = n0 + i avant l'instruction suivante :
# 4) Dans la boucle (incrémentée de 4 espaces), on met "n" et "u" à jour
n = n + 1
u = q * u + r
# 5) après de la boucle, on imprime le résultat pour n
print("u(", n, ") =", u)
Ajout de la formulation explicite :
# code python :
# 1) Lire les données définissant la suite :
# les raisons q et r ainsi que u0 (départ de la suite)
# puis le nombre n0 de départ et le nombre nmax d'itération souhaité
#
# Remarque :
# Ne pas mettre de lettres accentuées dans les textes du code
# SyntaxError: invalid string (possibly contains a unicode character)
q = 2.0
r = 3.0
n0 = 4
u0 = 5.0
niter = 6
# on vérifie les types des variables :
# print("types :", type(n0), type(niter))
# on rappelle les données :
print("donnees : (q, r, n0, u0, niter) =", q, r, n0, u0, niter)
limite = r / (1 - q)
# 2) initialiser n = n0 et u = u0
n = n0
u = u0
u_explicite = (u0 - limite) * q**(n - n0) + limite
# 3) faire une boucle de nmax itérations
for i in range(niter) :
# éventuellement on imprime : n et u
print("u(", n, ") =", u, "u_explicite=", u_explicite)
# remarque : n = n0 + i avant l'instruction suivante :
# 4) Dans la boucle (incrémentée de 4 espaces), on met "n" et "u" à jour
n = n + 1
u = q * u + r
u_explicite = (u0 - limite) * q**(n - n0) + limite
# 5) après de la boucle, on imprime le résultat pour n
print("u(", n, ") =", u, "u_explicite=", u_explicite)
Suite de Fibonacci :
u0 = 1
u1 = 1
a = 1
b = 1
n = 1
for i in range(10) :
n = n + 1
u = a * u1 + b * u0
print("u(", n, ")=", u)
# bascule
u0 = u1
u1 = u
# print("u(", n, ")=", u)