# 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)