Modéliser suites et ensembles avec des listes
Première générale Spé · Mathématiques Spé 1ère
À retenir
• Suite récurrente : on part de L = [u0], puis à chaque tour on calcule le terme suivant et on l'ajoute avec L.append(u). • Suite explicite : [f(n) for n in range(N + 1)] donne la liste des termes de u_0 à u_N. • Si la liste commence à u_0, L[k] contient u_k ; x in E teste l'appartenance à un ensemble représenté par une liste.
Le cours
1. Suite définie par récurrence Pour la suite u_0 = 2 et u_n+1 = 3u_n - 1, on range les termes dans une liste : on part du premier terme, puis chaque tour calcule le suivant et l'ajoute. def termes(n): u = 2 L = [u] for k in range(n): u = 3 * u - 1 L.append(u) return L termes(3) renvoie [2, 5, 14, 41], c'est-à-dire u_0, u_1, u_2, u_3 : la liste a n + 1 éléments et L[k] contient u_k. 2. Suite définie explicitement Si u_n = f(n), une compréhension suffit : pour u_n = n^2 + 1, [n**2 + 1 for n in range(5)] donne [1, 2, 5, 10, 17], soit u_0 à u_4. 3. Représenter un ensemble fini Un ensemble fini se représente par une liste sans doublon. On teste l'appartenance avec x in E et on construit une intersection par filtrage : A = [1, 2, 3, 4, 6, 12] B = [1, 2, 3, 6, 9, 18] C = [x for x in A if x in B] C vaut [1, 2, 3, 6] : les diviseurs communs de 12 et 18. Pour ajouter x sans créer de doublon, on écrit if x not in E: avant E.append(x). 4. Attention au décalage de rang Si la suite commence à u_1, la liste commence aussi par u_1 : L[0] contient alors u_1 et L[k] contient u_k+1.
Dans ce chapitre
- Variables, affectations, boucles for/while et tests conditionnels de Seconde
- Instructions conditionnelles et logique booléenne en Python de Seconde
- Boucles for, while et parcours de séquences avec range de Seconde
- Variables, types et affectation
- Instructions conditionnelles
- Boucles bornées et non bornées
- Fonctions informatiques et modularité
- Créer et définir une liste
- Indexation et manipulation d'éléments
- Parcourir et itérer sur une liste
- Compréhension de listes en Python (list comprehension)
- Modéliser suites et ensembles avec des listes
- Algorithmes de recherche dichotomique et de seuil en Python
- Bilan : Synthèse et méthode sur Algorithmique et programmation en Python