MathLvl
Première STMG

Algorithmique et Python en Première STMG

Variables, fonctions, boucles et listes en Python, simulation et traitement de données en Première STMG.

Mis à jour le

En Première STMG, l'algorithmique sert à automatiser les calculs de gestion : appliquer une remise, suivre un capital placé année après année, trouver le mois où un stock passe sous un seuil, ou dépouiller un fichier de ventes. Le langage utilisé est Python, comme en seconde.

Au programme : consolider les variables, les instructions conditionnelles, les boucles bornées (for) et non bornées (while), et les fonctions, dont on identifie les entrées et la sortie ; utiliser un compteur et un accumulateur pour une somme ou un produit ; découvrir les listes, seule notion nouvelle de l'année (création en extension, par ajouts successifs avec append, en compréhension, indices, parcours) ; traiter des données réelles et construire un tableau croisé ; simuler une épreuve de Bernoulli avec random() < p, des échantillons et leur fluctuation.

Pièges classiques : oublier que le premier indice d'une liste est 0, confondre print et return, écrire une boucle while qui ne s'arrête jamais, ou calculer avec des nombres lus dans un fichier sans les convertir avec float.

Cours et fiche

📚

Leçon et fiche bientôt disponibles

S'entraîner

5 exercices

Fiches d'exercices à télécharger (PDF)

1

Plaquette 1 – Variables, tests et fonctions

2

Plaquette 2 – Boucles, compteurs et accumulateurs

3

Plaquette 3 – Les listes

4

Plaquette 4 – Traiter des données réelles

5

Plaquette 5 – Simuler et résoudre des problèmes

Leçon complète

Algorithmique et Python en Première STMG : cours complet

En Première STMG, Python sert à automatiser des calculs de gestion et à traiter des données. On consolide les notions de seconde (variables, tests, boucles, fonctions) et on découvre une seule notion nouvelle : les listes.

Variables et affectation

Une variable est un nom associé à une valeur. L'affectation x = x + 1 calcule d'abord le membre de droite avec la valeur actuelle de x, puis range le résultat dans x. En langage naturel, on écrit x ← x + 1.

Exemple : avec prix = 80, l'instruction prix = prix * 0.75 donne 80 × 0,75 = 60 : une remise de 25 %.

Instruction conditionnelle

def port(montant):
    if montant >= 50:
        return 0
    else:
        return 4.9

Les comparaisons s'écrivent ==, !=, <, <=, >, >= ; on combine des conditions avec and (les deux) et or (au moins une). Avec elif, Python teste les conditions dans l'ordre et s'arrête à la première vraie.

Fonctions

Une fonction a des entrées (ses paramètres) et une sortie (la valeur renvoyée par return) :

def ttc(ht, taux):
    return ht * (1 + taux / 100)

ttc(250, 20) renvoie 250 × 1,2 = 300. Une fonction qui renvoie sa valeur peut être réutilisée dans un calcul ; print ne fait qu'afficher. Découper un programme en petites fonctions (programmation modulaire) le rend plus lisible et plus facile à corriger.

Boucles, compteur et accumulateur

  • Boucle bornée : for k in range(n): répète n fois (k va de 0 à n-1).
  • Boucle non bornée : while condition: répète tant que la condition est vraie ; le corps doit faire évoluer la situation vers l'arrêt.
  • Compteur : variable initialisée à 0, augmentée de 1 à chaque événement.
  • Accumulateur : variable initialisée à 0 pour une somme, à 1 pour un produit.

Exemple : un seuil

Un nombre d'abonnés de 1200 augmente de 8 % par mois ; à partir de quand dépasse-t-il 2000 ?

a = 1200
n = 0
while a <= 2000:
    a = a * 1.08
    n = n + 1

À la fin, n vaut 7 : 1200 × 1,08⁷ ≈ 2056,59.

Les listes

Une liste range plusieurs valeurs dans l'ordre : ventes = [12, 15, 9, 20].

Opération Instruction
nombre d'éléments len(ventes)
premier, dernier élément ventes[0], ventes[-1]
modifier un élément ventes[1] = 18
ajouter à la fin ventes.append(25)
supprimer une valeur, un indice ventes.remove(9), ventes.pop(0)
somme, maximum sum(ventes), max(ventes)

⚠️ Les indices commencent à 0 : une liste de n éléments a des indices de 0 à n - 1.

Créer une liste

  • en extension : L = [1, 3, 5] ;
  • par ajouts successifs : L = [] puis L.append(v) dans une boucle ;
  • en compréhension : [500 + 30*n for n in range(6)] donne les six premiers termes de la suite uₙ = 500 + 30n ;
  • en compréhension avec condition : [x for x in prix if x > 20] garde les prix supérieurs à 20.

Traiter des données

Des données réelles se rangent dans une liste de listes, une ligne par enregistrement : ["Paris", "web", 120]. On sélectionne avec une condition, on compte avec len, on cumule avec sum, et l'on construit un tableau croisé à deux critères avec deux boucles imbriquées.

Lu dans un fichier, un nombre est un texte : il faut le convertir avec float avant de calculer, sinon "120" + "80" donne "12080".

Simuler le hasard

random() renvoie un nombre au hasard dans [0 ; 1[, et la condition random() < p est vraie avec la probabilité p : elle simule une épreuve de Bernoulli.

def frequence(n, p):
    s = 0
    for k in range(n):
        if random() < p:
            s = s + 1
    return s / n

En simulant de nombreux échantillons, on observe que la fréquence fluctue autour de p, que sa dispersion est proportionnelle à 1/√(n), et qu'environ 95 % des fréquences sont à moins de deux écarts-types de p.

Erreurs fréquentes à éviter

  • Indice hors de la liste : L[len(L)] n'existe pas.
  • print au lieu de return dans une fonction de calcul.
  • Boucle infinie : la variable testée par while n'évolue pas vers la sortie.
  • Oublier float sur une donnée lue dans un fichier.
  • random() > p au lieu de random() < p pour un succès de probabilité p.

FAQ — Algorithmique et Python en Première STMG

Quelle est la notion nouvelle en première ?

Les listes : les créer, accéder à leurs éléments par leur indice, les modifier et les parcourir. Elles servent pour les suites, les tableaux de valeurs et les séries statistiques.

Quand utiliser for plutôt que while ?

for quand on connaît le nombre de répétitions (douze mois, dix ans) ; while quand on répète jusqu'à ce qu'une condition change (un seuil à atteindre).

Pourquoi écrire des fonctions ?

Pour réutiliser un calcul avec d'autres valeurs, et pour découper un problème en étapes simples que l'on vérifie séparément.

À quoi sert la simulation ?

À observer la fluctuation d'échantillonnage et à estimer une probabilité difficile à calculer, en comparant la fréquence obtenue sur un grand nombre d'essais à la probabilité attendue.

Tous les chapitres de Première STMG

Poursuis ta révision avec les autres chapitres du programme de Première STMG.