Aller au contenu
Seconde · Mathématiques · Chapitre 14

Algorithmique et programmation en Python

Fiche de cours6 min de lecturePar Robin RinguetMise à jour : octobre 2026

1Variables, affectation, types

Définition. Une variable est une case mémoire désignée par un nom. L’affectation a = 5 range la valeur 55 dans a. On lit toujours de droite à gauche : le membre de droite est d’abord calculé, puis rangé dans la variable de gauche. Ainsi a = a + 1 augmente a de 11, et = n’est pas le signe « égal » des mathématiques.

Méthode — échanger deux variables. Passer par une variable auxiliaire : t = u puis u = v puis v = t. Écrire u = v puis v = u perd la valeur de u.

Remarque. type(x) donne le type de x. Les conversions s’écrivent int(…), float(…), str(…) : int("12") vaut 1212, int(3.9) vaut 33 (troncature, pas d’arrondi).

TypeNomExemples
entierint-4, 0, 25
flottantfloat2.5, -0.1
booléenboolTrue, False
chaînestr"bonjour"

Tableau 1 — Les quatre types de base. Le séparateur décimal est le point.

2Opérateurs

OpérateurSignification
+ - *somme, différence, produit
/quotient décimal (toujours float)
// %quotient et reste de la division euclidienne
**puissance : 2**5 vaut 3232

Propriété. Les comparaisons ==, !=, <, <=, >, >= produisent un booléen. On les combine avec and (et), or (ou), not (non). 17 % 5 vaut 22 : un entier n est pair si n % 2 == 0, et a est un multiple de b si a % b == 0.

3Instruction conditionnelle

Définition. if condition: exécute le bloc indenté qui suit lorsque la condition est vraie. elif (« sinon si ») teste une nouvelle condition, else traite tous les autres cas. Les conditions sont examinées dans l’ordre : dès que l’une est vraie, les suivantes ne sont pas testées.

Remarque. L’indentation (4 espaces) délimite les blocs : elle fait partie de la syntaxe. Ne pas oublier les deux-points en fin de ligne.

if x < 0:
    signe = -1
elif x == 0:
    signe = 0
else:
    signe = 1

4Boucles

Définition. La boucle bornée for k in range(a, b, p): fait prendre à k les valeurs aa, a+pa+p, a+2pa+2p, … en s’arrêtant avant bb. Avec range(n), k parcourt 00, 11, …, n−1n-1 : il y a nn tours. On l’emploie quand le nombre de répétitions est connu à l’avance.

Définition. La boucle non bornée while condition: répète le bloc tant que la condition est vraie. On l’emploie pour atteindre un seuil. Il faut que la condition finisse par devenir fausse, sinon le programme ne s’arrête jamais.

Méthode — compter, accumuler. Initialiser un compteur ou un accumulateur avant la boucle (s = 0, n = 0), le mettre à jour dans la boucle, l’afficher après.

s = 0
for k in range(1, 11):
    s = s + k
print(s)        # 55
u = 100
n = 0
while u > 10:
    u = u*0.8
    n = n + 1
print(n)        # 11

5Fonctions

Définition. def f(x): définit une fonction de paramètre x ; return renvoie un résultat réutilisable dans un calcul, alors que print se contente d’afficher. Une fonction peut avoir plusieurs paramètres, séparés par des virgules, et l’appel f(3) remplace x par 33.

Remarque. return met fin à l’exécution de la fonction. Une fonction sans return renvoie la valeur spéciale None (« rien ») : y = f(3) donne alors None.

Notation. Nombres aléatoires : from random import randint, random ; randint(1, 6) renvoie un entier de 11 à 66 inclus, random() un flottant de [0 ;1[\intfo{0}{1}. Deux exécutions donnent en général des résultats différents.

def moyenne(a, b):
    return (a + b)/2

m = moyenne(12, 15)
print(m)        # 13.5
from random import randint

de = randint(1, 6)

6Listes (hors programme — pour aller plus loin)

Définition. Une liste range plusieurs valeurs dans une seule variable. Les cases sont numérotées à partir de 00 : notes[0] est la première. len(notes) donne le nombre de cases, notes.append(v) ajoute v à la fin, et [0]*13 crée une liste de 1313 zéros. La boucle for v in notes: parcourt directement les valeurs.

Remarque. La dernière case est notes[len(notes)-1] : écrire notes[len(notes)] provoque une erreur.

notes = [12, 8, 15, 9]
s = 0
for v in notes:
    s = s + v
print(s/len(notes))   # 11.0

7Savoir-faire du chapitre

Savoir-faire
  • Suivre des affectations successives dans un tableau d’exécution ; échanger deux variables ; reconnaître un type et convertir.
  • Utiliser //, %, ** et écrire une condition avec and, or, not.
  • Écrire et exécuter à la main un if / elif / else, notamment pour un tarif par paliers.
  • Choisir entre for et while ; compter, accumuler, chercher un maximum, atteindre un seuil.
  • Écrire une fonction avec def et return, l’appeler, et simuler une expérience aléatoire pour estimer une fréquence.

8Exemples types

Exempleexécution à la main

Pour a = 7, b = 3, a = a + b, b = a - b, a = a - b : on obtient successivement a=10a=10, puis b=7b=7, puis a=3a=3. Ce programme échange les deux valeurs.

Exempleseuil avec while

Un capital de 2 000 €{2\,000\,\mathrm{\text{€}}} augmente de 3%{3\%} par an. Avec c = 2000, n = 0 puis while c < 2500: c = c*1.03 ; n = n + 1, on obtient n=8n=8 : il faut 88 ans pour dépasser 2 500 €{2\,500\,\mathrm{\text{€}}}.

Exemplesimulation

from random import randint puis, sur for k in range(1000):, compter les tirages tels que randint(1, 6) == 6 et diviser par 10001000 : on obtient une fréquence proche de 16≈0,167\frac16\approx0{,}167.

Pièges
  • Confondre = (affectation) et == (test d’égalité) : if x = 3: est une erreur de syntaxe.
  • Oublier les deux-points (erreur de syntaxe) ou l’indentation (erreur, ou instruction qui n’est plus rattachée au if ou à la boucle).
  • Oublier que range(a, b) s’arrête avant b : range(1, 11) donne les entiers de 11 à 1010.
  • Écrire print au lieu de return dans une fonction : la valeur ne peut plus être réutilisée dans un calcul.
  • Initialiser un compteur dans la boucle : il repart à zéro à chaque tour.

Exercices, contrôles et sujets

Les énoncés sont en accès libre, à télécharger en PDF.

1

Exercices de base

PDF

Les bases : variables, types, opérateurs, conditions, boucles, fonctions

7 exercicesniveau Difficulté 1 sur 3durée conseillée : 1 h 30sans ordinateur

  1. Affectations successives et échangeDifficulté 1 sur 3
  2. Types et conversionsDifficulté 1 sur 3
  3. Opérateurs et booléensDifficulté 1 sur 3
  4. Boucle bornée : compteur et accumulateurDifficulté 1 sur 3
  5. Un organigramme à traduireDifficulté 2 sur 3
  6. Boucle non bornéeDifficulté 2 sur 3
  7. return ou print ?Difficulté 2 sur 3
2

Exercices d'application

PDF

Application : tarifs par paliers, compteurs, maximum, seuils, simulation

7 exercicesniveau Difficulté 2 sur 3durée conseillée : 2 hsans ordinateur

  1. Une facture d’eauDifficulté 2 sur 3
  2. Appels imbriquésDifficulté 2 sur 3
  3. Compter et accumulerDifficulté 2 sur 3
  4. Un bénéfice maximal, sans listeDifficulté 2 sur 3
  5. Une population qui diminueDifficulté 2 sur 3
  6. Lancer deux dés : simulation et fréquencesDifficulté 2 sur 3
  7. Trois erreurs à corrigerDifficulté 2 sur 3
3

Contrôle A

PDF

Automatismes, tableau d’exécution, tarif par paliers, boucle while, correction d’un programme

Durée : 1 hsans ordinateur ni calculatrice5 exercicesbarème sur 20 + 1 point bonus

  1. Automatismes4 ptsDifficulté 1 sur 3
  2. Que fait ce programme ?4 ptsDifficulté 2 sur 3
  3. Tarif d’un colis5 ptsDifficulté 2 sur 3
  4. Un capital placé4 ptsDifficulté 2 sur 3
  5. Un programme à corriger3 ptsDifficulté 2 sur 3
  6. Question bonus (1 point, hors barème)Difficulté 1 sur 3
4

Contrôle B

PDF

Automatismes, vrai ou faux, appels imbriqués, boucle while et boucle infinie, simulation

Durée : 1 hsans ordinateur ni calculatrice6 exercicesbarème sur 20 + 1 point bonus

  1. Automatismes3 ptsDifficulté 1 sur 3
  2. Vrai ou faux3 ptsDifficulté 2 sur 3
  3. Appels imbriqués4 ptsDifficulté 2 sur 3
  4. Une boucle while et ses pièges4 ptsDifficulté 2 sur 3
  5. Simulation d’un lancer de dé4 ptsDifficulté 2 sur 3
  6. Les places d’une salle de spectacle2 ptsDifficulté 2 sur 3
  7. Question bonus (1 point, hors barème)Difficulté 1 sur 3
5

Approfondissement

PDF

Pour aller plus loin : chiffres d’un entier, vol de Syracuse, méthode de Monte-Carlo, dichotomie, listes

5 exercicesniveau Difficulté 3 sur 3durée conseillée : 2 h 30sans ordinateur

  1. Les chiffres d’un entierDifficulté 3 sur 3
  2. Le vol de SyracuseDifficulté 3 sur 3
  3. Estimer π\pi par la méthode de Monte-CarloDifficulté 3 sur 3
  4. Deviner un nombre par dichotomieDifficulté 3 sur 3
  5. Une liste pour compter (hors programme — pour aller plus loin)Difficulté 3 sur 3
6

Devoir bilan

PDF

Le chapitre et les acquis : automatismes, correction de programmes, paliers et pourcentages, seuils, simulation

Durée : 1 h 30sans ordinateur ni calculatrice5 exercicesbarème sur 20 + 1 point bonus

  1. Automatismes4 ptsDifficulté 1 sur 3
  2. Une moyenne mal calculée4 ptsDifficulté 2 sur 3
  3. La cotisation d’un club de sport4 ptsDifficulté 2 sur 3
  4. Une balle qui rebondit4 ptsDifficulté 2 sur 3
  5. Répondre au hasard à un QCM4 ptsDifficulté 2 sur 3
  6. Question bonus (1 point, hors barème)Difficulté 1 sur 3

Seconde · Mathématiques : les 14 chapitres

  1. Nombres réels, intervalles et valeur absolue
  2. Arithmétique
  3. Calcul littéral
  4. Équations et inéquations
  5. Vecteurs
  6. Droites du plan
  7. Généralités sur les fonctions
  8. Fonctions de référence
  9. Variations et extremums
  10. Information chiffrée
  11. Statistiques
  12. Tableaux croisés et fréquences conditionnelles
  13. Probabilités conditionnelles et arbres pondérés
  14. Algorithmique et programmation en Python