Fiche de cours Logimaths | 1ère spécialité
Fiche de cours : Algo au lycée (Python)
Variables, boucles, fonctions : le Python qui sert vraiment en maths
I. Variables et affectation
Le = de Python n'est pas celui des maths
Conséquence :
Le test d'égalité, lui, s'écrit avec DEUX signes :
x = 3 signifie « range la valeur 3 dans la boîte x » (une affectation, pas une équation).Conséquence :
x = x + 1 est absurde en maths mais parfaitement logique en Python : « prends la valeur actuelle de x, ajoute 1, range le résultat dans x » : la boîte est écrasée.Le test d'égalité, lui, s'écrit avec DEUX signes :
x == 3.
Dérouler un programme à la main
La compétence n°1 des sujets : suivre les valeurs pas à pas dans un tableau.
x = 5, puis x = 2*x - 3 exécuté deux fois : x vaut 5, puis 7, puis 11. Chaque ligne se lit avec les valeurs du moment, jamais avec celles du début.
🎮 Entraîne-toi : dérouler un programme
Suis la boîte x valeur par valeur, ligne par ligne.
II. Les boucles for et le range
for k in range(...)
range(n)parcourt 0, 1, …, n − 1 : la boucle tourne n fois (et s'arrête AVANT n : le piège du chapitre) ;range(a, b)parcourt a, a + 1, …, b − 1 : soit b − a tours ;- usage typique : accumuler (
s = s + k) ou faire avancer une suite (u = 2*u + 1).
Exemple rédigé : une somme
k prend les valeurs 1, 2, 3, 4 (pas 5 !) : s vaut 1, 3, 6, puis 10. Le programme calcule 1 + 2 + 3 + 4.
s = 0 puis for k in range(1, 5): s = s + k :k prend les valeurs 1, 2, 3, 4 (pas 5 !) : s vaut 1, 3, 6, puis 10. Le programme calcule 1 + 2 + 3 + 4.
🎮 Entraîne-toi : combien de tours ?
range(n) = n tours ; range(a, b) = b − a tours, b exclu.
III. Conditions et while
if / else et la boucle while
if condition:exécute le bloc indenté si la condition est vraie,else:sinon ;while condition:répète TANT QUE la condition est vraie : idéal quand on ignore le nombre de tours à l'avance (recherches de seuil) ;- ⚠️ un while dont la condition ne devient jamais fausse tourne pour toujours : vérifie que quelque chose ÉVOLUE dans le corps de la boucle.
Le script de seuil, grand classique des suites
« Au bout de combien d'années le capital dépasse-t-il 2000 € ? » :
La condition du while est celle de la POURSUITE (u < 2000), pas celle de l'objectif : l'inversion est l'erreur la plus fréquente.
u = 1000, n = 0, puis while u < 2000: u = 1.05*u ; n = n + 1 : à la sortie, n contient le premier rang où u ≥ 2000.La condition du while est celle de la POURSUITE (u < 2000), pas celle de l'objectif : l'inversion est l'erreur la plus fréquente.
🎮 Entraîne-toi : qu'affiche le programme ?
Évalue la condition avec les valeurs du moment, puis choisis la branche.
IV. Les fonctions
def, return et les arguments
Une fonction peut traduire une formule (image d'une fonction mathématique), calculer un terme de suite, ou simuler une expérience aléatoire (avec
return interrompt la fonction et renvoie la valeur : tout ce qui suit un return exécuté est ignoré.
def f(x): return 2*x + 1 définit une fonction Python : f(3) renvoie 7.Une fonction peut traduire une formule (image d'une fonction mathématique), calculer un terme de suite, ou simuler une expérience aléatoire (avec
random).return interrompt la fonction et renvoie la valeur : tout ce qui suit un return exécuté est ignoré.
⚠️ Le vocabulaire du bac
« Que renvoie f(4) ? » = déroule la fonction avec x = 4. « Que fait ce programme ? » = identifie l'objet mathématique calculé (une somme, un terme de suite, un seuil, une moyenne…). Réponds en termes MATHÉMATIQUES, pas en paraphrasant le code ligne à ligne.
👆 ▶ À toi : def f(x): return x*x − 4. Que renvoie f(5) ? Et que calcule f en maths ? Vérifie
f(5) renvoie 25 − 4 = 21. La fonction calcule l'image de x par x \mapsto x^2 - 4.
🎮 Entraîne-toi : que renvoie la fonction ?
Remplace l'argument dans la formule du return.