Systèmes d'information de gestion · Terminale STMGBac
Programmation : quiz de Terminale STMG (SIG)
Publié le 11 novembre 2026 · Mis à jour le 11 novembre 2026 · Signaler une erreur
L'essentiel
- Pour prédire le résultat d'un programme, déroule-le ligne par ligne en notant la valeur de chaque variable.
- Pour un nombre ou un texte, une affectation recopie la valeur : réaffecter ensuite la première variable ne change pas l'autre.
- Une condition choisit une branche, une boucle répète un bloc ; vérifie toujours les valeurs limites.
- Une boucle while doit modifier ce qu'elle teste, sinon elle ne s'arrête jamais.
- Les indices d'une liste commencent à 0 ; une fonction renvoie un résultat avec return.
Avant de commencer
Ce quiz t'entraîne à lire de petits programmes écrits en Python et à dire ce qu'ils produisent. L'initiation à la programmation fait partie de ce que travaille la spécialité Systèmes d'information de gestion en terminale STMG, à côté des bases de données et des réseaux.6 Les situations sont tirées de la gestion : prix, stocks, ventes, notes.
Le quiz couvre les variables et l'affectation, les opérations sur les nombres et les textes, les conditions, les boucles for et while, les fonctions et les listes. Chaque question est indépendante des autres. Lis la correction même quand tu as juste : elle explique aussi pourquoi l'erreur la plus courante est fausse.
Quiz
14 questions · correction immédiate · ton score reste sur ton appareil.
-
Après la première ligne x vaut 5, puis 8, puis 16. Chaque ligne part de la valeur laissée par la précédente. La réponse 11 vient d'un calcul en additionnant 3 puis 3 sans doubler ; 13 revient à ajouter 8 à 5 au lieu de multiplier ; 10 oublie l'addition.
-
range(1, 5)donne 1, 2, 3, 4 : la borne 5 est exclue. Le total passe par 1, 3, 6 puis 10. Si tu comptes jusqu'à 5, tu trouves 15, ce qui est faux. -
Au moment de
b = a, la valeur 4 est copiée dansb. Changeraensuite n'a aucun effet surb, qui reste égal à 4. Penser quebsuitarevient à confondre une copie avec un lien permanent. -
La condition
note >= 10est vraie pour 10, car l'opérateur accepte l'égalité. C'est donc la première branche qui s'exécute. « ajourné » serait affiché avecnote > 10, qui exclut 10 ; vérifier la valeur limite évite ce piège. -
17 = 3 × 5 + 2 : le quotient est 3 et le reste est 2. La valeur 3 est le quotient, que donne
17 // 5, pas le reste. -
prix == 20teste l'égalité etprix <= 20teste « inférieur ou égal ».prix = 20est une affectation, pas un test, et Python refuse de l'utiliser ainsi dans unif.prix =< 20est mal écrit : le signe<se place avant=. -
Le stock passe de 100 à 75 (jours = 1), puis 50 (jours = 2), puis 25 (jours = 3). À 25, la condition
stock > 30est fausse et la boucle s'arrête. Trouver 4 revient à oublier de tester la condition avant chaque tour. -
Les deux valeurs entre guillemets sont des textes. Avec
+, Python les colle l'un à l'autre : « 123 ». Il n'additionne pas les nombres, donc 15 est faux. Il n'y a pas d'erreur, car deux textes peuvent toujours être concaténés. -
La variable
in'est jamais modifiée dans la boucle, donci < 5reste vrai pour toujours. Pour afficher 0 à 4, il faudrait ajouteri = i + 1dans le bloc. Une bouclewhilene modifie pas toute seule la variable qu'elle teste. -
On remplace
htpar 50 : 50 × 1,2 = 60. Le motreturnrenvoie ce résultat à l'endroit de l'appel. Le calcul 50 + 1,2 = 51,2 est faux, car l'opérateur écrit est une multiplication. -
L'indexation commence à 0 : le premier élément est à l'indice 0. Croire que l'on commence à 1 donne un décalage d'une case et fait lire le mauvais élément, voire provoque une erreur sur le dernier indice.
-
Les indices vont de 0 à 3 : ventes[0] vaut 12, ventes[1] vaut 30, ventes[2] vaut 8, ventes[3] vaut 25. Répondre 30 revient à compter à partir de 1, ce qui est faux.
-
Les montants strictement supérieurs à 10 sont 12, 20 et 15. Le compteur augmente donc trois fois. La réponse 5 compterait tous les éléments, sans tenir compte de la condition ; 4 inclurait à tort 9.
-
En Python, le bloc se repère au décalage des lignes, après les deux-points. Les accolades et le mot « fin » existent dans d'autres langages ou en pseudo-code, mais pas ici. Une ligne mal décalée sort du bloc et change le comportement du programme.
Les questions qu'on se pose
Comment être sûr du résultat d'un programme sans l'ordinateur ?
Déroule-le à la main avec un tableau : une colonne par variable, une ligne par étape. Dans une boucle, ajoute une ligne par tour. Cette méthode évite les erreurs d'intuition, surtout avec les bornes d'une boucle.
Quelle est la différence entre = et == ?
Le signe = range une valeur dans une variable : c'est une affectation. Le signe == compare deux valeurs et donne vrai ou faux ; on l'emploie dans les conditions.
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.