Première générale

Algorithmique, Python, logique et ensembles

L'algorithmique accompagne tous les autres chapitres : suites, probabilités, statistiques, seuils. En Première, on demande surtout de savoir lire un programme simple, écrire une boucle utile et traduire une situation mathématique en instructions Python.

Version HTML statique du cours. Si JavaScript est actif, MathSups affiche l’expérience interactive avec QCM, exercices guidés et assistant IA.

Python : variables, tests et boucles

L'algorithmique accompagne tous les autres chapitres : suites, probabilités, statistiques, seuils. En Première, on demande surtout de savoir lire un programme simple, écrire une boucle utile et traduire une situation mathématique en instructions Python.

Variables et affectation

En Python, on stocke une valeur dans une variable avec le signe =. Par exemple u = 120 signifie que la variable u prend la valeur 120.

Tests

Les instructions conditionnelles s'écrivent avec if, elif et else. On utilise les opérateurs logiques and, or et not.

Boucles

La boucle for sert quand le nombre d'itérations est connu à l'avance. La boucle while sert quand on répète une action tant qu'une condition reste vraie : c'est l'outil naturel pour chercher un seuil.

Instruction <code>range</code>

Dans for k in range(1, n+1), la variable k prend successivement les valeurs 1, 2, ..., n. La borne de droite n'est pas incluse.

Chercher un seuil

Pour trouver le premier rang tel que $$u_n>150,$$ on initialise $$n$$ et $$u,$$ puis on répète la mise à jour dans une boucle while tant que la condition n'est pas encore vérifiée.

n = 0
u = 120
while u <= 150:
    u = 1.03 * u
    n = n + 1

Listes et fonctions

Les listes servent à mémoriser des valeurs successives : termes d'une suite, résultats d'une simulation ou données d'une série statistique. Les fonctions Python permettent, elles, de réutiliser un calcul sans tout réécrire.

Listes

Une liste s'écrit par exemple L = [2, 4, 6]. On peut lui ajouter une valeur avec append et accéder à un élément grâce à son indice.

Parcourir une liste

Pour parcourir les valeurs d'une liste, on peut utiliser for x in L. Pour parcourir les indices, on utilise souvent for i in range(len(L)).

Fonctions Python

Une fonction permet d'encapsuler un calcul :

def carre(x):
    return x * x

On peut ainsi créer des fonctions pour calculer un terme, une somme ou simuler une expérience.

Construire une liste de termes

Pour stocker les premiers termes d'une suite, on part d'une liste contenant le premier terme, puis on ajoute chaque nouveau terme dans une boucle.

Logique et ensembles

La logique structure toutes les démonstrations. Elle sert aussi à traduire correctement les conditions Python et les hypothèses mathématiques. Il faut bien distinguer implication, réciproque, contraposée et appartenance à un ensemble.

Implication et réciproque

Dire “si $$P$$ alors $$Q$$” signifie que la vérité de $$P$$ entraîne celle de $$Q.$$ La réciproque est l'énoncé “si $$Q$$ alors $$P$$”. Ce n'est pas la même affirmation.

Contraposée

L'implication “si $$P$$ alors $$Q$$” est équivalente à sa contraposée “si non $$Q$$ alors non $$P$$”. Cette idée est très utile pour certaines démonstrations.

Ensembles usuels

On manipule les ensembles $$\mathbb{N},\mathbb{Z},\mathbb{Q},\mathbb{R}$$ et les symboles $$\in$$, $$\notin$$ et $$\subset$$. On utilise aussi les intervalles $$[a;b],$$ $$]a;b[,$$ $$[a;+\infty[$$.

Traduire une condition

La phrase “$$x$$ est compris entre 0 inclus et 3 exclu” se traduit en mathématiques par $$x\in[0;3[,$$ et en Python par 0 <= x and x < 3.

QCM du chapitre

  1. Question 1. La structure la plus adaptée pour chercher un seuil est souvent :

    • A. une boucle while
    • B. un commentaire
    • C. une liste vide
    • D. une variable booléenne seule

    Réponse. A. une boucle while

    Explication. Pour un seuil, on répète tant que la condition n'est pas atteinte : c'est une boucle <code>while</code>.

  2. Question 2. Une liste Python s'écrit :

    • A. (1, 2, 3)
    • B. {1, 2, 3}
    • C. [1, 2, 3]
    • D. <1, 2, 3>

    Réponse. C. [1, 2, 3]

    Explication. Les listes utilisent des crochets.

  3. Question 3. Le symbole $$\in$$ signifie :

    • A. strictement inférieur à
    • B. appartient à
    • C. implique
    • D. est orthogonal à

    Réponse. B. appartient à

    Explication. Le symbole $$\in$$ signifie “appartient à”.

Exercices guidés

Exercice 1. Écrire une boucle de seuil

Une population vaut 200 au départ et augmente de 5 % par an. Écrire un programme Python qui détermine le premier rang où elle dépasse 260.

  1. Étape 1. Choisir les variables.

    On utilise par exemple n pour le rang et u pour la population.

  2. Étape 2. Écrire la boucle.

    n = 0
    u = 200
    while u <= 260:
        u = 1.05 * u
        n = n + 1

  3. Étape 3. Interpréter.

    À la fin, n est le premier rang tel que la population dépasse 260.

Exercice 2. Construire une liste de termes

Écrire un programme Python qui stocke les 6 premiers termes de la suite définie par $$u_0=1$$ et $$u_{n+1}=u_n+4.$$

  1. Étape 1. Initialiser la liste.

    On commence par stocker le premier terme :

    u = 1
    L = [u]
  2. Étape 2. Ajouter les nouveaux termes.

    for k in range(5):
        u = u + 4
        L.append(u)

  3. Étape 3. Conclure.

    La liste L contient alors les 6 premiers termes de la suite.

Exercice 3. Écrire une fonction Python

Écrire une fonction Python qui renvoie $$x^2+3x-1.$$

  1. Étape 1. Définir la fonction.

    def f(x):
        return x * x + 3 * x - 1

  2. Étape 2. Comprendre le retour.

    Le mot-clé return renvoie la valeur calculée.

  3. Étape 3. Utiliser la fonction.

    Par exemple, f(2) renvoie $$2^2+3\times2-1=9.$$

Exercice 4. Utiliser range

Quelles valeurs prend k dans for k in range(2, 6) ?

  1. Étape 1. Lire la borne de départ.

    La boucle commence à 2.

  2. Étape 2. Lire la borne de fin.

    La borne de droite 6 n'est pas incluse.

  3. Étape 3. Conclure.

    La variable k prend successivement les valeurs 2, 3, 4 et 5.

Exercice 5. Traduire une condition

Traduire en Python la condition “$$x$$ est compris entre 0 inclus et 3 exclu”.

  1. Étape 1. Traduire le premier morceau.

    “0 inclus” donne 0 <= x.

  2. Étape 2. Traduire le second morceau.

    “3 exclu” donne x < 3.

  3. Étape 3. Assembler.

    La condition complète s'écrit 0 <= x and x < 3.

À retenir