Mathématiques · Seconde · Contrôle n°1
Algorithmique et programmation Python
Un contrôle de mathématiques de 55 minutes sur l'algorithmique en seconde : l'affectation qui n'est pas une égalité, l'indentation qui est la syntaxe elle-même, les deux boucles et la borne exclue, la fonction qui renvoie au lieu d'afficher, et les algorithmes du maximum, d'Euclide et de primalité. Vingt points, barème détaillé, et une correction qui dit pourquoi à chaque question.
Imprimer le contrôle
Deux PDF à imprimer, sur papier A4. Gratuit, sans inscription.
Avant de commencer
- Un algorithme qui ne marche pas est presque toujours un raisonnement incomplet.
- L’affectation range une valeur ; elle n’affirme pas une égalité.
- En Python, l’indentation n’est pas une commodité de lecture : c’est la syntaxe.
- Dans `range(1, 11)`, la borne de droite est exclue.
- Avant d’écrire une boucle « tant que », il faut savoir quelle ligne rapproche de la sortie.
- Renvoyer et afficher ne sont pas la même chose.
Exercice 1 — Variables et indentation
4 pts · 10 minComprendre affectation et indentation
Réponds à chaque question.
1.Que signifie exactement l’affectation `n = 5` ?
1 ptVoir la correction
Range 5 dans la case appelée .
Ce n’est pas l’affirmation d’une égalité.
2.Pourquoi `n = n + 1` a-t-il un sens en programmation ?
1 ptVoir la correction
Parce qu’on remplace le contenu de par ce contenu augmenté de 1.
Mathématiquement, l’égalité serait absurde.
3.À quoi sert l’indentation en Python ?
1 ptVoir la correction
Elle indique ce qui s’exécute à l’intérieur d’un bloc : c’est la syntaxe elle-même.
Ce qui revient à gauche s’exécute dans tous les cas.
4.Quelle différence y a-t-il entre `=` et `==` ?
1 ptVoir la correction
Un seul signe égal affecte une valeur ; le double signe compare.
Dans un test, on demande : c’est donc le double signe.
Exercice 2 — Les deux boucles
4 pts · 11 minChoisir et écrire une boucle
Réponds à chaque question.
1.Quand emploie-t-on une boucle `for` ?
1 ptVoir la correction
Quand le nombre de répétitions est connu à l’avance.
C’est ce qui la distingue de l’autre boucle.
2.Quelles valeurs prend `i` dans `for i in range(1, 11)` ?
1 ptVoir la correction
Les valeurs 1 à 10.
La borne de droite est exclue : c’est l’erreur d’un débutant sur deux.
3.Quand emploie-t-on une boucle `while` ?
1 ptVoir la correction
Quand le nombre de tours n’est pas connu : on répète tant qu’une condition reste vraie.
Il faut garantir que la condition finira par devenir fausse.
4.Que se passe-t-il si cette condition ne peut jamais devenir fausse ?
1 ptVoir la correction
Le programme tourne indéfiniment, sans message d’erreur.
C’est la seule erreur qui ne produit rien : ni affichage, ni plantage.
Exercice 3 — Fonctions
4 pts · 10 minÉcrire et comprendre une fonction
Réponds à chaque question.
1.Qu’est-ce qu’une fonction, en programmation ?
1 ptVoir la correction
Un traitement regroupé sous un nom, avec des paramètres en entrée.
Les paramètres sont les valeurs qu’on lui fournit.
2.Que fait l’instruction `return` ?
1 ptVoir la correction
Elle renvoie une valeur à celui qui a appelé la fonction, et interrompt son exécution.
L’interruption fait partie de son effet.
3.Que fait `print`, et en quoi diffère-t-elle ?
1 ptVoir la correction
Elle affiche, sans rien renvoyer.
Une fonction qui affiche sans renvoyer ne peut pas être réutilisée dans un calcul.
4.Quelle question se poser avant de rendre une fonction ?
1 ptVoir la correction
Renvoie-t-elle avec `return`, ou se contente-t-elle d’afficher ?
C’est la faute qui rend une fonction juste mais inutilisable.
Exercice 4 — Les algorithmes
5 pts · 14 minConnaître les algorithmes du programme
Réponds à chaque question.
1.Avec quoi initialise-t-on la recherche d’un maximum, et pourquoi pas avec 0 ?
1 ptVoir la correction
Avec le premier élément de la liste ; une liste de nombres négatifs donnerait sinon un maximum faux.
Zéro n’appartient pas forcément à la liste.
2.Quel est le principe de l’algorithme d’Euclide ?
1 ptVoir la correction
On remplace le plus grand par le reste de sa division par le plus petit, et on recommence jusqu’à ce que le reste soit nul.
Le PGCD est alors le dernier diviseur employé.
3.Déroule Euclide sur 48 et 18 : donne les restes successifs.
1 ptVoir la correction
, puis , puis .
Le reste devient nul au troisième tour.
4.Quel est le PGCD de 48 et 18 ?
1 ptVoir la correction
6
C’est le dernier diviseur employé avant que le reste ne s’annule.
5.Jusqu’où suffit-il de tester les diviseurs pour savoir si est premier ?
1 ptVoir la correction
Jusqu’à .
Si a un diviseur supérieur à sa racine, il en a nécessairement un inférieur.
Exercice 5 — Trouve l'erreur
3 pts · 10 minRepérer une erreur et la corriger
Chaque ligne est fausse. Écris ce qu’il fallait écrire.
1.« `if n = 3:` »
1 ptVoir la correction
`if n == 3:`
Un seul signe égal range une valeur ; dans un test, on compare.
2.« Dans le test de primalité, on écrit `return True` à l’intérieur de la boucle. »
1 ptVoir la correction
Il va à l’extérieur, aligné avec la boucle.
À l’intérieur, la fonction déclarerait 9 premier dès le premier diviseur qui ne convient pas.
3.« Mon programme s’exécute sans message d’erreur : il est donc juste. »
1 ptVoir la correction
Il faut le tester sur un cas dont on connaît déjà la réponse.
Une boucle infinie ne produit aucun message, et un résultat faux non plus.
Barème — ce que le correcteur regarde
Les lignes chiffrées couvrent les 5 exercices et totalisent 20 points.
Ex.1Variable, affectation et indentation
4 points — 1 par question
Point perdu si : Une affectation lue comme une égalité mathématique.
Ex.2Les deux boucles et leurs bornes
4 points — 1 par question
Point perdu si : Une borne de droite comptée comme incluse.
Ex.3Fonctions : renvoyer et afficher
4 points — 1 par question
Point perdu si : Une fonction qui affiche sans rien renvoyer, jugée réutilisable.
Ex.4Les algorithmes à connaître
5 points — 1 par question
Point perdu si : Un maximum initialisé à zéro.
Ex.5L’erreur repérée, et la réponse juste donnée
3 points — 1 par ligne
Point perdu si : Une conclusion tirée avant d’avoir tout testé.
Et maintenant ?
- 16 à 20
- Le chapitre est tenu. Entraîne-toi maintenant sur le seul souci d'efficacité du programme : tester les diviseurs jusqu'à la racine plutôt que jusqu'à $n-1$. Pour un million, on passe d'un million de tests à mille.
- 10 à 15
- Refais l'exercice 4 en déroulant chaque algorithme à la main sur un cas dont tu connais la réponse. C'est ce que fait un programmeur avant même de lancer le programme.
- moins de 10
- Reprends la fiche de cours et retiens la distinction qui commande tout le reste : un `=` range, un `==` demande. Dans un test, on demande toujours.
Les autres contrôles de mathématiques Seconde
- Introduction à la trigonométrie — Radian et cercle unité — contrôle n°1
- Équations et inéquations — Premier et second degré — contrôle n°1
- Fonctions de référence : carré, racine, inverse, cube — contrôle n°1
- Généralités sur les fonctions — contrôle n°1
- Généralités sur les fonctions — contrôle Essentiel
- Généralités sur les fonctions — contrôle Standard
- Généralités sur les fonctions — contrôle Approfondi
- Géométrie repérée — Équation de droite et distance — contrôle n°1
- Nombres et calculs — fractions, racines et puissances — contrôle n°1
- Probabilités — Modèles et calculs — contrôle n°1
- Statistiques à une variable — Dispersion — contrôle n°1
- Vecteurs, translations et repérage dans le plan — contrôle n°1
Programme de seconde générale et technologique — BO spécial n°1 du 22 janvier 2019 · Contrôle rédigé pour ProgresSchool, version 2026.1.