Algorithmique et programmation

Première · Algorithmique et programmation · BO 2026 (Première spé)

Fonctions Python, boucles, listes et algorithmes (seuil, suites).

Étape 01 / 07

Avant de commencer

Question honnête : où en es-tu ?

Sais-tu écrire une fonction Python avec une boucle pour calculer les termes d'une suite ?
Étape 02 / 07

Prérequis

  • Variables, affectation, types (Seconde).
  • Boucle for et boucle while.
  • Instruction conditionnelle if / else.
  • Suites arithmétiques et géométriques.
Étape 03 / 07

Cours

3.1 — Fonction Python

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
3.2 — Boucle for (nombre de tours connu)

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
3.3 — Boucle while et algorithme de seuil

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
3.4 — Listes

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]
Erreur classique

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.

Étape 04 / 07

Exemples résolus

Ex 1 — Somme

Pour additionner 1 + 2 + … + n : initialiser s = 0 puis dans for i in range(1, n+1) faire s = s + i.

Ex 2 — Suite géométrique

u₀ = 3, raison 2 : dans une boucle for de n tours, u = 2 * u.

Ex 3 — Seuil

seuil(150) renvoie le premier rang où 100 × 1,05ⁿ dépasse 150 (ici n = 9).

Ex 4 — Compter

Pour compter les multiples de 3 entre 1 et 30 : boucle for avec un test if i % 3 == 0 et un compteur.

Étape 05 / 07

Exercices d'application

Exo 1 · Facile Représenter

Écris une fonction cube(x) qui renvoie x³.

Exo 2 · Facile Représenter

Écris une boucle for qui affiche les entiers de 1 à 10.

Exo 3 · Moyen Représenter

Écris une fonction somme(n) qui calcule 1 + 2 + … + n.

Exo 4 · Moyen Modéliser

Écris une fonction terme(n) qui renvoie le terme de rang n de la suite u₀ = 5, uₙ₊₁ = uₙ + 4.

Exo 5 · Moyen Raisonner

Écris un algorithme de seuil : premier rang n tel que 50 × 1,1ⁿ dépasse 200.

Exo 6 · Moyen Représenter

Construis la liste des 6 premiers termes de la suite u₀ = 1, uₙ₊₁ = 3uₙ.

Exo 7 · Défi Modéliser

Une population de 1000 baisse de 8 % par an. Écris une fonction renvoyant l'année où elle passe sous 500.

Exo 8 · Défi Communiquer

On exécute seuil avec une condition while sans faire évoluer u. Explique ce qui se passe et corrige.

Étape 06 / 07

Synthèse — À retenir

  • Une fonction se définit avec def et renvoie avec return.
  • for : nombre de tours connu ; while : tant qu'une condition tient.
  • Algorithme de seuil = boucle while jusqu'à dépasser une valeur.
  • Une liste se remplit avec append dans une boucle.
  • Toujours faire évoluer la variable testée dans un while.
Étape 07 / 07

Plan de révisions

J+1

Refais exos 1, 2 et 3.

J+7

Refais exos 4 et 5.

J+30

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 ?