Stages de Pré-Rentrée — Inscriptions ouvertes, places très limitées ! S'inscrire

Annale · 2022★★★Niveau moyenSession du 28 avril 2022· 523 candidats

Info B X-ENS MP 2022 — sujet, corrigé et rapport jury

Sujet Python de 2h en 3 parties. Moyenne 9.36, σ=3.72 sur 523 candidats. Sujet, corrigé Hadamard et synthèse rapport jury.

Mohamed K.

Mohamed K.

Centralien · MPSI puis MP · Recherche ML santé

Aperçu rapide

Difficulté

★★★Niveau moyen

Moyenne

9.36/20

Top 25%

11.9

Présents

523

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

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

  1. Partie IPartie 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).

  2. Partie IIPartie 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.

  3. Partie IIIPartie 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

Programmation Python (syntaxe, listes, indices)
Structures de données (listes, arbres, rectangles)
Algorithmique (parcours, comparaisons, mise à jour)
Modélisation géométrique (chemins, profils, vallées)
Bornes et invariants (éviter accès -1 et len(T))

Ressources

Téléchargements

Sujet officiel, corrigé Hadamard et rapport jury — tout en un endroit.

FAQ

Questions fréquentes — 2022

Partager

Préparation X-ENS · Info MP

Bossez ce sujet 2022 avec un ancien taupin

Nos professeurs analysent votre copie sur ce sujet, identifient vos faiblesses et structurent votre révision pour la session 2023.

Sujet