Top piège du sujet
Confondre = et == pour tester les égalités (Q1)
Statistiques jury
Comment les candidats s'en sont sortis
Notes brutes officielles publiées par le jury — non harmonisées.
Moyenne
9.36
Médiane
9.4
Écart-type
3.72
Q1 (25%)
6.8
Q3 (75%)
11.9
Candidats présents
523
Calculateur
Où je me situe sur ce sujet ?
Entrez votre note brute. Le percentile et la position se mettent à jour en temps réel.
Analyse
Ce qu'a observé le jury
Synthèse Hadamard du rapport officiel — citations, chiffres et conseils du jury.
Présentation du sujet
Sujet Python de 2h en 3 parties. Partie I : modèle de chemins (validité d'un profil) avec liste de pas haut/bas/gauche/droite, fonctions de base. Partie II : cas particulier d'une vallée (courbe sans maximum local en dehors des extrémités), construction d'une liste de rectangles empilés. Partie III : cas général d'une grotte « à ciel ouvert » (sans tronçon en surplomb) enrichie en arbre de rectangles, où chaque rectangle peut être placé directement au-dessus de plusieurs…
Structure de l'épreuve
- Partie I — Partie I, Validité d'un profil(Q1-Q5)Abordable
Familiarisation avec le modèle de chemins. Fonctions de base : test de validité, accès aux indices, calcul de la suite des coordonnées le long du chemin. Q1-Q5 globalement bien réussies (moyennes 0.70-0.89/1).
- Partie II — Partie II, Vallée (rectangles empilés)(Q6-Q11)Niveau attendu
Cas d'une « vallée », où la courbe ne présente aucun maximum local en dehors de ses extrémités. Construction d'une liste de rectangles empilés représentant la vallée. Q6-Q7 : moyennes 0.60-0.76/1.
- Partie III — Partie III, Grotte à ciel ouvert (arbre de rectangles)(Q12-Q16)Difficile
Cas plus général d'une grotte à ciel ouvert (sans tronçon en surplomb). Structure de donnée enrichie en arbre, où chaque rectangle peut être placé directement au-dessus de plusieurs sous-rectangles. Nécessite de bien comprendre les structures de grottes et tableaux intermédiaires.
Analyse globale du jury
« Sujet Python sur l'étude de courbes représentant des vallées ou grottes, avec un enrichissement progressif de la structure de données. 523 copies, moyenne 9,36/20, écart-type 3,72. La syntaxe générale du Python est généralement bien respectée. Sur la gestion des variables : ne pas utiliser de variable entière pour représenter un booléen, ne pas abuser des affectations parallèles. Les accès aux indices -1 et len(T) sont interdits, fréquents dans les boucles. La concision du code est valorisée : éviter opérations inutiles, if avec conditions toujours vraies/fausses, et préférer un parcours direct (for u in v) plutôt qu'avec compteur. »
Top pièges sanctionnés
Confondre = et == pour tester les égalités (Q1)-1 pts
« Attention à bien utiliser == et non = pour tester les égalités. Il faut tester séparément que le profil ne comporte pas de rebroussements aux bords (à gauche et à droite). »
Accès aux indices -1 ou len(T), boucle while v[i]==D and i<len(v) erronée par évaluation gauche-droite-2 pts
« Sur les tableaux, les accès aux indices -1 et len(T) sont interdits, il faut donc veiller à ce que le code ne puisse en aucun cas réaliser de tels accès. […] while v[i] == D and i < len(v), il y a un risque de dépassement puisque v[i] == D est exécuté avant le test i < len(v) (la boucle est correcte si on inverse les deux termes grâce à l'évaluation paresseuse). »
Variable booléenne inutile pour accumuler les résultats de tests, préférer return-1 pts
« L'utilisation de variables booléennes pour accumuler les résultats de tests est souvent lourde (préférer les return). Éviter d'utiliser une variable entière pour représenter un booléen. »
Parcours de listes systématique avec compteur for i in range(len(v)) au lieu de for u in v-1 pts
« Pour les parcours de listes, beaucoup de candidats utilisent systématiquement un compteur (for i in range(len(v))), alors qu'un parcours direct (for u in v ou for x,y in liste_des_points(v)) est souvent possible et plus concis. »
Suivre le profil jusqu'à ce qu'il remonte puis revenir en arrière (Q6)-1 pts
« Certains candidats suivent le profil jusqu'à ce qu'il remonte, puis reviennent en arrière pour retrouver le point à gauche du plateau le plus bas. Il est plus élégant de retenir dans une variable le point à gauche du plateau courant, qu'il faut donc mettre à jour dès que le profil descend. »
Chapitres clés à maîtriser
Bosse chaque chapitre sur d'autres sujets de concours qui le couvrent.
Contexte
L'épreuve en quelques chiffres
Accompagnement personnalisé
Travaillez ce sujet avec un prof de l'équipe
Nos professeurs anciens taupins (Polytechnique, ENS, Centrale) reprennent ce sujet avec toi en cours particulier — corrigé ligne par ligne, méthode, pièges évités.
Trouvez le prof qu'il vous faut
Échangez avec notre équipe pour trouver le professeur idéal selon vos besoins.
Stratégie
Notre approche pour ce sujet
- Partie I, Validité d'un profil (Q1-Q5 · facile)
- Partie II, Vallée (rectangles empilés) (Q6-Q11 · moyen)
- Partie III, Grotte à ciel ouvert (arbre de rectangles) (Q12-Q16 · dur)
Conseils du jury
Pièges sanctionnés par le rapport
- Confondre = et == pour tester les égalités (Q1) : « Attention à bien utiliser == et non = pour tester les égalités. Il faut tester séparément que le profil ne comporte pas de rebroussements aux bords (à gauche et à droite). »
- Accès aux indices -1 ou len(T), boucle while v[i]==D and i<len(v) erronée par évaluation gauche-droite : « Sur les tableaux, les accès aux indices -1 et len(T) sont interdits, il faut donc veiller à ce que le code ne puisse en aucun cas réaliser de tels accès. […] while v[i] == D and i < len(v), il y a un risque de dépassement puisque v[i] == D est exécuté avant le test i < len(v) (l... »
- Variable booléenne inutile pour accumuler les résultats de tests, préférer return : « L'utilisation de variables booléennes pour accumuler les résultats de tests est souvent lourde (préférer les return). Éviter d'utiliser une variable entière pour représenter un booléen. »
- Parcours de listes systématique avec compteur for i in range(len(v)) au lieu de for u in v : « Pour les parcours de listes, beaucoup de candidats utilisent systématiquement un compteur (for i in range(len(v))), alors qu'un parcours direct (for u in v ou for x,y in liste_des_points(v)) est souvent possible et plus concis. »
- Suivre le profil jusqu'à ce qu'il remonte puis revenir en arrière (Q6) : « Certains candidats suivent le profil jusqu'à ce qu'il remonte, puis reviennent en arrière pour retrouver le point à gauche du plateau le plus bas. Il est plus élégant de retenir dans une variable le point à gauche du plateau courant, qu'il faut donc mettre à jour dès que le profi... »
Ressources
Téléchargements
Sujet officiel, corrigé Hadamard et rapport jury — tout en un endroit.
FAQ