Suites numériques

Signaler

I. Suite arithmétique et suite géométrique

1) Suites arithmétiques

Définition

Une suite arithmétique est une suite numérique dont chaque terme s’obtient en ajoutant au précédent un nombre réel constant r appelé raison.

Pour tout nombre entier naturel n, un+1 = unr.

Exemples

La suite (un) des nombres entiers naturels pairs est une suite arithmétique de premier terme u0 = 0 de raison r = 2 : pour tout entier naturel n, un+1 = un + 2.

Soit (vn) la suite arithmétique de premier terme v0 = 2 et de raison r = – 1 ;

v1v0r ; v1 = 2 – 1 ; v1 = 1 ;

v2v1r ; v2 = 1 – 1 ; v2 = 0 ;

v3v2r ; v3 = – 1.

Une suite arithmétique de raison r est :

  • croissante, si r > 0 ;
  • décroissante, si r < 0 ;
  • constante si r = 0.

La représentation graphique d’une suite arithmétique (un) dans un repère du plan est constituée de points alignés de coordonnées (n, un).

2) Suites géométriques

Définition

Une suite géométrique est une suite numérique dont chaque terme s’obtient en multipliant le précédent par une constante q appelé de raison.

En STMG, on prend q > 0.

Pour tout nombre entier naturel un+1 = qun.

Exemple

On considère la suite géométrique (un) de premier terme u0 = 2 et de raison q = 0,9.

u1qu0 ; u1 = 0,9 × 2 ; u1 = 1,8 ;

u2qu1 ; u2 = 0,9 × 1,8 ; u2 = 1,62 ;

u3qu2 ; u3 = 0,9 × 1,62 ; u3 = 1,458…

Une suite géométrique de raison q strictement positive et de premier terme strictement positif est :

  • croissante, si q > 1 ;
  • décroissante, si 0 < q < 1 ;
  • constante, si q = 1.

Exemple de représentation graphique d’une suite géométrique :

Exemple

On considère la suite géométrique (un) de premier terme u0 = 1 et de raison q = 2. u1 = 2u0 = 2 ; u2 = 2u1 = 4 ; u3 = 2u2 = 8. Sur la figure, on a placé les quatre premiers points de la représentation graphique de la suite (un). Ils sont situés sur une courbe qui n’a pas été étudiée en Seconde.

Augmentation ou diminution de x % par heure, par mois, par an

Chaque fois qu’on est confronté à une situation du type « une population, un prix… augmente de x % tous les ans par mois, par heure », on peut définir une suite géométrique de raison 1+x100.

49d56535-d6d5-4318-bbb3-42bbd58ff498

S’il s’agit d’une diminution de x %, on peut définir une suite géométrique de raison 1−x100.

II. Algorithme programmation et suites

1) Notion de liste en informatique

Définition

Une liste en informatique est une collection ordonnée d’éléments (entiers, flottants, chaînes de caractères, booléens…) séparés par des virgules et mis entre crochets.

Exemple

L = [2, 3, 5, 8, 13] est une liste de 5 entiers, distincte de la liste [3, 2, 5, 8, 13].

notes = ['1e3', 12, 9.5, 18] est une liste de 4 éléments :

une chaîne de caractère (1e3), deux entiers (12 et 18) et un flottant (9.5).

Remarques

Une liste d’entiers ou de flottants peut représenter une suite numérique comme la liste L.

On peut visualiser une liste comme une série de « boîtes » dans lesquelles chaque élément de la liste est rangé. Les boîtes sont numérotées par un indice.

Attention : la numérotation commence à 0.

notes = ['1e3', 12, 9.5, 18]

9f1d2e45-288d-4258-89fb-50b1cd4fb8dd

Exemple

L’élément d’indice 0 de L, noté L[0], a pour valeur 2 ; L[1] a pour valeur 3 ; L[4] a pour valeur 13.

notes[0] a pour valeur '1e3', notes[1] a pour valeur 12, notes[3] a pour valeur 18.

Générer une liste

Voyons d’abord le cas particulier de la fonction range. L’instruction range(6) permet de générer la liste [0, 1, 2, 3, 4, 5] (faire list(range(6)) pour afficher la liste) et range(1, 6) permet de générer la liste [1, 2, 3, 4, 5].

Attention : range(n) correspond à la liste des entiers de 0 à n 1 et range(n, m) à celle des entiers de n à m 1.

Une liste peut être générée « en extension », c’est-à-dire en écrivant l’ensemble de ses éléments.

Exemple

jours = ['lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi']

On peut également générer une liste par ajouts successifs d’un élément. L’instruction L.append(x) ajoute x à la fin de la liste L (append signifie « ajouter » en anglais).

Exemples

L’instruction jours.append('samedi') crée la liste :

['lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'].

Le programme suivant crée la liste [2, 4, 6, 8, 10].

33793e82-5159-4344-a35e-c7b3d579dec3

On peut aussi générer une liste « en compréhension », notamment par une formule définissant ses éléments.

Exemples

L’instruction L = [2 * n for n in range(1,6)] crée la liste [2, 4, 6, 8, 10].

On peut ajouter une condition dans laquelle != signifie ≠.

L’instruction L = [2 * n for n in range(1,6) if n !=3] crée la liste [2, 4, 8, 10].

Manipuler des éléments d’une liste et leur indice

Le tableau suivant résume les principales manipulations sur les éléments d’une liste.

On considère la liste L = [2, 4, 6, 8, 10].

c66cf214-9f34-4e6a-8164-1c3466e5bbd2

Parcourir les éléments d’une liste

Pour parcourir un à un les éléments x d’une liste L, on utilise for x in L:.

Exemple

Le programme suivant calcule la somme des nombres de la liste pairs.

38523522-55ae-41f7-acd0-d93eac8794ac

La valeur de la variable somme en fin d’exécution est 30.

2) Suites et situations algorithmiques

Calculer un terme de rang donné d’une suite définie par récurrence

On considère la suite (un) définie par u0 = 1 et, pour tout entier naturel n,
un+1 = 2un + 3. On souhaite calculer u20.

Avec un tableur

Comme ci-contre, on entre en B2 la valeur de u0 et en B3 la formule =2*B2+3 correspondant à la relation de récurrence.

On recopie la cellule B3 vers le bas jusqu’en B22.

f77f1909-6b6a-41d3-a071-66506a3e4145

La cellule B22 affiche la valeur de u20 = 4 194 301.

Avec Python

0eb42b19-1535-41ce-88d4-b04122a4c2e9

En fin d’algorithme, la variable u contient la valeur de u20. Le programme Python fournit la valeur 4 194 301.

Attention, en Python range(1, 21) correspond à la liste des entiers consécutifs de 1 à 20. Pour que la boucle for s’exécute 20 fois, il faut donc indiquer range(1, 21).

Déterminer et représenter une liste de termes

Cas d’une suite définie par son terme général

Exemple

On considère la suite (un) définie, pour tout entier naturel n, par un = n2. On souhaite calculer et représenter avec Python les termes de u0 à u10.

On exécute le programme suivant qui utilise le module pyplot de représentation graphique.

202b41ec-7b54-4923-9d3a-266b032e8136

Ce programme est présenté ici pour introduire de façon progressive l’utilisation du langage Python dans l’étude des suites.

Le programme commence par dresser la liste de toutes les ordonnées des points à tracer.

La liste L est : [0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100].

Les points sont ensuite représentés. L’instruction plt.scatter(range(11), L) représente le « nuage de points » dont les abscisses sont données par la liste range(11) et les ordonnées par la liste L. Le mot « scatter » signifie dispersion en anglais.

C’est ce programme que nous utiliserons désormais pour faciliter l’appropriation de la notion de liste en informatique.

Voir la figure 1 page suivante.

Cas d’une suite définie par récurrence

Exemple

On considère la suite (un) définie par u0=34 et, pour tout entier naturel n, un+1 = un2.

On souhaite calculer et représenter avec Python les termes de u0 à u5.

On exécute le programme suivant.

811875eb-f14c-48be-908b-b76b181cb47a

La liste L est : [0.75, 0.5625, 0.31640625, 0.1001129150390625,

0.010022595757618546, 0.00010045242572063329].

Remarque

On rappelle que l’instruction 'L.append(u)' ajoute u à la fin de la liste L.

a0fe31ab-2129-4aa6-b83d-3cb848a1f681  d3e98e21-bd8e-4249-872c-ce333df5740e

 Figure 1 Figure 2

Algorithme de seuil

Exemple

On considère la suite (un) définie pour tout entier naturel n par un = 0,9n.

On admet que (un) est décroissante et on recherche le plus petit entier n pour lequel un ≤ 0,5.

On ne sait pas combien d’itérations seront nécessaires, on utilise donc  une boucle while avec un compteur qui s’incrémente tant que un est supérieur à 0,5.

b68313cb-61a2-42d7-82e0-ea6967ac96b4

La valeur de la variable n en fin de programme est 7. On en déduit que 0,97 est la plus petite puissance de 0,9 inférieure ou égale à 0,5.

#doc

Memento Python