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 + 1Listes 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 * xOn 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
-
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>.
-
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.
-
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.
-
Étape 1. Choisir les variables.
On utilise par exemple
npour le rang etupour la population. -
Étape 2. Écrire la boucle.
n = 0 u = 200 while u <= 260: u = 1.05 * u n = n + 1 -
Étape 3. Interpréter.
À la fin,
nest 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.$$
-
Étape 1. Initialiser la liste.
On commence par stocker le premier terme :
u = 1 L = [u] -
Étape 2. Ajouter les nouveaux termes.
for k in range(5): u = u + 4 L.append(u) -
Étape 3. Conclure.
La liste
Lcontient alors les 6 premiers termes de la suite.
Exercice 3. Écrire une fonction Python
Écrire une fonction Python qui renvoie $$x^2+3x-1.$$
-
Étape 1. Définir la fonction.
def f(x): return x * x + 3 * x - 1 -
Étape 2. Comprendre le retour.
Le mot-clé
returnrenvoie la valeur calculée. -
É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) ?
-
Étape 1. Lire la borne de départ.
La boucle commence à
2. -
Étape 2. Lire la borne de fin.
La borne de droite
6n'est pas incluse. -
Étape 3. Conclure.
La variable
kprend successivement les valeurs2,3,4et5.
Exercice 5. Traduire une condition
Traduire en Python la condition “$$x$$ est compris entre 0 inclus et 3 exclu”.
-
Étape 1. Traduire le premier morceau.
“0 inclus” donne
0 <= x. -
Étape 2. Traduire le second morceau.
“3 exclu” donne
x < 3. -
Étape 3. Assembler.
La condition complète s'écrit
0 <= x and x < 3.
À retenir
- Affectation en Python : <code>x = 3</code>.
- Tests : <code>if</code>, <code>elif</code>, <code>else</code>.
- Opérateurs logiques : <code>and</code>, <code>or</code>, <code>not</code>.
- Boucle <code>for</code> : nombre d'itérations connu.
- Boucle <code>while</code> : répétition tant qu'une condition est vraie.
- Dans <code>range(a, b)</code>, la borne <code>b</code> n'est pas incluse.
- Une liste stocke plusieurs valeurs ordonnées.
- On ajoute un élément avec <code>append</code>.
- Une fonction Python permet de réutiliser un calcul.
- Implication : “si $$P$$ alors $$Q$$”.
- Contraposée : “si non $$Q$$ alors non $$P$$”.
- Ensembles usuels : $$\mathbb{N},\mathbb{Z},\mathbb{Q},\mathbb{R}$$.
- Intervalles : $$[a;b],\ ]a;b[,\ [a;+\infty[$$.