Systèmes d'information de gestion · Terminale STMGBac
La programmation en SIG : cours de Terminale STMG
Publié le 11 novembre 2026 · Mis à jour le 11 novembre 2026 · Signaler une erreur
L'essentiel
- Un programme est une suite d'instructions que l'ordinateur exécute dans l'ordre, pour traiter des données de gestion.
- Une variable mémorise une valeur ; son type (entier, réel, texte, booléen) décide des opérations possibles.
- Une condition (
if) choisit une branche ; une boucle (for,while) répète un bloc. - Une fonction regroupe un traitement réutilisable : elle reçoit des paramètres et renvoie un résultat.
- Pour trouver une erreur, fais un tableau de suivi des variables, ligne après ligne.
Pourquoi programmer en systèmes d'information de gestion
Une entreprise manipule chaque jour des données : factures, stocks, ventes, clients. Calculer à la main un total de mille lignes serait long et risqué. Un programme le fait en une fraction de seconde, et sans se tromper de ligne.
Dans ce cours, tu apprends les briques de base de la programmation : mémoriser une valeur, faire un calcul, choisir, répéter, regrouper. Ces briques servent ensuite à construire des applications, que tu retrouveras avec les interfaces web puis avec les tests et la maintenance. Avant d'aborder ce chapitre, tu as vu l'algorithmique de gestion : ici, tu passes de l'algorithme écrit en français à un programme qu'une machine exécute.
Le programme de terminale de la spécialité SIG a été fixé par un arrêté publié au Bulletin officiel spécial n°8 du 25 juillet 2019.2 Il comprend une initiation à la programmation, à côté des bases de données et d'une approche des réseaux.6 L'enseignement s'appuie sur la simulation et la modélisation de problèmes de gestion, dans une approche dynamique.6 Il prolonge la démarche technologique déjà rencontrée en classe de première.6
Variables, types et affectation
Opérations et expressions
Une expression est un calcul qui produit une valeur. Elle combine des valeurs, des variables et des opérateurs. Voici les opérateurs arithmétiques utiles en gestion :
| Opérateur | Rôle | Exemple | Résultat |
|---|---|---|---|
+ - * |
addition, soustraction, produit | 4 * 5 |
20 |
/ |
division (résultat réel) | 7 / 2 |
3.5 |
// |
quotient entier | 7 // 2 |
3 |
% |
reste de la division | 7 % 2 |
1 |
** |
puissance | 2 ** 3 |
8 |
Les priorités sont celles des mathématiques : les puissances d'abord, puis les produits et divisions, enfin les additions et soustractions. Les parenthèses permettent de forcer l'ordre.
Les conditions : choisir une branche
Un programme doit souvent réagir selon la situation : appliquer une remise au-delà d'un montant, signaler un stock trop bas, refuser une saisie incorrecte. On utilise pour cela une structure conditionnelle.
Les boucles : répéter un traitement
Pour traiter chaque ligne d'une liste de ventes, on ne va pas écrire cent fois la même instruction. On utilise une boucle, qui répète un bloc.
Les fonctions : regrouper et réutiliser
Une fonction apporte trois avantages en gestion : on évite de recopier le même code, on peut la tester seule, et on la nomme d'après la règle de gestion qu'elle applique. Les applications réelles sont des assemblages de fonctions, ce qui prépare le travail sur les tests et la maintenance.
Listes et données de gestion
Les données d'une entreprise sont en général rangées dans une base de données, que tu étudies par ailleurs en SIG. Le programme lit ces données, les place dans des listes ou des variables, les traite, puis renvoie un résultat : un total, une alerte, un état. La programmation est le maillon qui transforme des données stockées en information utile à la décision.
Tester et corriger un programme
Un programme qui tourne sans message d'erreur n'est pas forcément juste. Lire un code et dire ce qu'il va produire est une compétence que le programme attend de toi.6 Deux sortes d'erreurs existent. L'erreur de syntaxe bloque l'exécution : une parenthèse oubliée, un : manquant. L'erreur de logique laisse le programme se dérouler mais fournit un mauvais résultat : une condition à l'envers, une boucle qui s'arrête un tour trop tôt.
Exercices corrigés
Exercice 1 Prix toutes taxes comprises
Une boutique vend un article 80 € hors taxes avec une TVA de 20 %. On exécute :
prix_ht = 80
taux_tva = 0.20
prix_ttc = prix_ht * (1 + taux_tva)
Quelle est la valeur de prix_ttc ?
Indice 1
Calcule d'abord la parenthèse.
Voir la correction pas à pas
On évalue d'abord la parenthèse : .
On multiplie ensuite : .
La variable
prix_ttccontient donc 96 (affichée96.0, car le résultat est un réel).
Le prix toutes taxes comprises est de 96 €.
Exercice 2 Moyenne des ventes de la semaine
Voici le programme :
ventes = [120, 95, 150, 80, 105]
total = 0
for v in ventes:
total = total + v
moyenne = total / len(ventes)
Quelle est la valeur de moyenne ?
Indice 1
Fais un tableau de suivi de total.
Indice 2
len(ventes) donne le nombre de valeurs.
Voir la correction pas à pas
Avant la boucle,
totalvaut 0.Après les cinq tours,
totalvaut .len(ventes)vaut 5, car la liste contient cinq éléments.On calcule .
La variable moyenne vaut 110, en unités des ventes de la liste.
Exercice 3 Suivre une boucle
On exécute :
s = 0
for i in range(1, 6):
s = s + i * i
Quelle est la valeur de s à la fin ? Construis le tableau de suivi pour justifier.
Indice 1
range(1, 6) exclut 6.
Indice 2
À chaque tour, on ajoute le carré de i.
Voir la correction pas à pas
range(1, 6)donne les valeurs dei: 1, 2, 3, 4, 5.Tour 1 : . Tour 2 : .
Tour 3 : . Tour 4 : .
Tour 5 : .
À la fin, s vaut 55, somme des carrés des entiers de 1 à 5.
Quiz
7 questions · correction immédiate · ton score reste sur ton appareil.
-
Le signe
=est une affectation : on calcule d'abord50 - 8 = 42, puis on range 42 dansstock. La réponse « erreur » vient de l'idée que=serait l'égalité mathématique, ce qu'il n'est pas. La comparaison s'écrit==. -
L'opérateur
%donne le reste de la division entière. Comme , le reste vaut 2. Le résultat 4 correspond au quotient50 // 12, pas au reste. -
iprend les valeurs 1, 2, 3, 4, 5 : cinq tours. La borne 6 est exclue, ce qui rend la réponse 6 fausse. La réponse 4 viendrait d'un retrait de la borne de départ, qui, elle, est incluse. -
inputrenvoie un texte. Multiplier un texte par 3 le répète trois fois :"555". La réponse 15 serait juste aprèsint(qte), mais cette conversion n'a pas été faite. -
C'est exact : la condition est testée avant chaque tour, et si rien dans le bloc ne la modifie, elle reste vraie. Dire que Python s'arrête de lui-même est faux : c'est au programmeur de faire évoluer la condition.
-
printn'a qu'un effet d'affichage, la valeur n'est pas récupérable ensuite.returnrenvoie la valeur à l'appelant, qui peut la ranger ou la réutiliser. La première réponse confond les deux : aprèsprint, on ne peut pas écrirex = f(3)et utiliser un résultat. -
Les indices commencent à 0, donc ils vont de 0 à 4 pour cinq éléments. La réponse 5 vient du comptage « à la main » et provoquerait une erreur d'indice hors limites.
Les questions qu'on se pose
Dois-je connaître Python par cœur pour réussir ?
Ce qui compte, c'est de comprendre le rôle de chaque brique : variable, condition, boucle, fonction. La syntaxe d'un langage s'apprend par la pratique, et le programme laisse au professeur le choix de la progression et des outils.6 Entraîne-toi à lire un petit programme et à prédire ce qu'il affiche.
Quelle est la différence entre un algorithme et un programme ?
Un algorithme décrit les étapes d'une résolution, en français ou en pseudo-code, sans langage précis. Un programme est la traduction de cet algorithme dans un langage que l'ordinateur sait exécuter. Le raisonnement est le même ; seule l'écriture change.
Comment choisir entre `for` et `while` ?
Si tu connais le nombre de répétitions, ou si tu parcours une liste, prends for. Si tu répètes jusqu'à ce qu'un événement arrive (un objectif atteint, une saisie correcte), prends while. Dans le second cas, vérifie que le bloc fait évoluer la condition.
Mon programme ne donne aucune erreur mais un résultat faux : que faire ?
C'est une erreur de logique. Choisis un cas dont tu connais le résultat, fais un tableau de suivi des variables ligne par ligne et repère la première valeur qui s'écarte de ce que tu attendais. Teste ensuite les valeurs limites : seuil exact, liste vide, valeur nulle.
Sources
Programme visé : Programmes et ressources en série STMG — Systèmes d'information de gestion · Éduscol — Ministère de l'Éducation nationale
- Programmes et ressources en série STMG — Systèmes d'information de gestion, Éduscol — Ministère de l'Éducation nationale. Consulté le 11 novembre 2026.
- Bulletin officiel spécial n°8 du 25 juillet 2019 — Programme de Terminale STMG (SIG), Bulletin officiel — Ministère de l'Éducation nationale. Consulté le 11 novembre 2026.
- Ressources Éduscol — SIG Terminale (Programmation et développement d'applications), Éduscol. Consulté le 11 novembre 2026.
- Ressources Éduscol — SIG Terminale (Fondamentaux et introduction à la programmation), Éduscol. Consulté le 11 novembre 2026.
- Lumni — Réviser vos spécialités — Ressources pédagogiques pour Terminale STMG, Ministère de l'Éducation nationale. Consulté le 11 novembre 2026.
- SIG Enseignement spécifique — Ressources académiques, Académie de Guadeloupe. Consulté le 11 novembre 2026.
Les numéros dans le texte renvoient à ces sources. Une source qui ne dit pas ce qu'on lui fait dire ? Signale-le.