Écris une fonction cube(x) qui renvoie x³.
Algorithmique et programmation
Première · Algorithmique et programmation · BO 2026 (Première spé)
Fonctions Python, boucles, listes et algorithmes (seuil, suites).
Avant de commencer
Question honnête : où en es-tu ?
Prérequis
- Variables, affectation, types (Seconde).
- Boucle
foret bouclewhile. - Instruction conditionnelle
if / else. - Suites arithmétiques et géométriques.
Cours
Une fonction encapsule un calcul réutilisable avec des paramètres et une valeur retournée par return.
def carre(x):
return x * x
print(carre(5)) # affiche 25 On répète un bloc un nombre déterminé de fois. Exemple : calculer les termes d'une suite arithmétique uₙ₊₁ = uₙ + 3.
def suite(n):
u = 2
for i in range(n):
u = u + 3
return u
print(suite(4)) # 2 -> 14 Quand on ne connaît pas le nombre de tours, on répète tant qu'une condition est vraie. Exemple : premier rang où une suite dépasse un seuil.
def seuil(s):
u = 100
n = 0
while u < s:
u = u * 1.05
n = n + 1
return n Une liste stocke plusieurs valeurs. On peut la construire dans une boucle pour mémoriser tous les termes calculés.
termes = []
u = 1
for i in range(5):
termes.append(u)
u = 2 * u
print(termes) # [1, 2, 4, 8, 16] Avec une boucle while, oublier de faire évoluer la variable testée crée une boucle infinie. Vérifie toujours que la condition finira par devenir fausse.
Exemples résolus
Pour additionner 1 + 2 + … + n : initialiser s = 0 puis dans for i in range(1, n+1) faire s = s + i.
u₀ = 3, raison 2 : dans une boucle for de n tours, u = 2 * u.
seuil(150) renvoie le premier rang où 100 × 1,05ⁿ dépasse 150 (ici n = 9).
Pour compter les multiples de 3 entre 1 et 30 : boucle for avec un test if i % 3 == 0 et un compteur.
Exercices d'application
Écris une boucle for qui affiche les entiers de 1 à 10.
Écris une fonction somme(n) qui calcule 1 + 2 + … + n.
Écris une fonction terme(n) qui renvoie le terme de rang n de la suite u₀ = 5, uₙ₊₁ = uₙ + 4.
Écris un algorithme de seuil : premier rang n tel que 50 × 1,1ⁿ dépasse 200.
Construis la liste des 6 premiers termes de la suite u₀ = 1, uₙ₊₁ = 3uₙ.
Une population de 1000 baisse de 8 % par an. Écris une fonction renvoyant l'année où elle passe sous 500.
On exécute seuil avec une condition while sans faire évoluer u. Explique ce qui se passe et corrige.
Synthèse — À retenir
- Une fonction se définit avec
defet renvoie avecreturn. for: nombre de tours connu ;while: tant qu'une condition tient.- Algorithme de seuil = boucle
whilejusqu'à dépasser une valeur. - Une liste se remplit avec
appenddans une boucle. - Toujours faire évoluer la variable testée dans un
while.
Plan de révisions
Refais exos 1, 2 et 3.
Refais exos 4 et 5.
Exos 7 et 8.
Pour aller plus loin
Q1. Quand choisir une boucle for plutôt qu'une boucle while ?
Q2. Comment un algorithme de seuil relie-t-il programmation et suites ?