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

Annale · 2018Session du 29 avril 2018

Informatique Mines-Ponts PC 2018 — sujet, corrigé et rapport jury

Étude de niveaux d'eau et exploitation de fichier texte. Sujet d'informatique commune (MP/PC/PSI). Couvre Python (range, boucles, tris), exploitation de fichier texte (Q4), recherche de PND (passages par la valeur moyenne), tri rapide (pivot),……

Mohamed K.

Mohamed K.

Centralien · MPSI puis MP · Recherche ML santé

Session 2018 :

InfoChimieMaths IMaths II
Aperçu rapide

Top piège du sujet : Q2 — préfixe giga confondu avec méga

Analyse

Ce qu'a observé le jury

Synthèse Hadamard du rapport officiel — citations, chiffres et conseils du jury.

Présentation du sujet

Sujet d'informatique commune (MP/PC/PSI). Couvre Python (range, boucles, tris), exploitation de fichier texte (Q4), recherche de PND (passages par la valeur moyenne), tri rapide (pivot), tri par insertion, complexité, SQL avec jointures.

Structure de l'épreuve

  1. Partie IQ1-Q4 — Calculs élémentaires et fichiers texte(Q1-Q4)Niveau attendu

    Q1 calcul élémentaire bizarrement raté. Q2 préfixe giga confondu avec méga. Q3 gain relatif (suppression d'1/8 caractères = gain 1/8). Q4 exploitation fichier texte rarement traitée.

  2. Partie IIQ5-Q12 — Statistiques sur listes et trapèzes(Q5-Q12)Difficile

    Q6 division par len(L)-1 ou opérateur //. Q7 oubli du pas, liste_niveaux[i+1] avec range(len(liste_niveaux)). Q8 range allant trop loin, return -1 mal indenté. Q9 maîtrise des bornes (range mal utilisé). Q11 slicing et fonction construction_successeurs.…

  3. Partie IIIQ13-Q21 — Tris et SQL(Q13-Q21)Difficile

    Q14 tri sur un élément de sous-liste — pivot initialisé en conséquence. Q15 distinction de cas. Q16 tri par insertion — rôle de tmp. Q18 complexités O(1/n) délirantes. Q19 jointures SQL — TABLE.ATTRIBUT, JOIN ON condition (pas NATURAL JOIN, FULL JOIN).…

Analyse globale du jury

« Les copies sont en général bien présentées. L'utilisation de range n'est pas suffisamment maîtrisée — beaucoup de candidats écrivent for i in range(len(L)) avant de faire appel à L[i+1] sans paraître conscients du problème. Question 4 (fichier texte) très souvent non traitée — technique fondamentale à mieux maîtriser. Il est dommage que dans de nombreuses copies, on trouve des appels à des fonctions complexes au sein d'une boucle, alors qu'un seul appel avant la boucle suffit. »

Top pièges sanctionnés

  • Q2 — préfixe giga confondu avec méga-1 pts

    « Il est très surprenant de constater que beaucoup de candidats ne maîtrisent pas le sens du préfixe giga, le confondant avec méga. Cela n'est pas acceptable à ce niveau de formation. »

  • Q7 — L[i+1] avec range(len(L))-2 pts

    « Beaucoup trop de candidats écrivent for i in range(len(L)) : avant de faire appel à L[i+1] dans la boucle sans paraître conscients du problème. »

  • Q12 — liste de listes à 2 éléments vs liste de 2 listes-1 pts

    « Attention également à la structure du résultat renvoyé : une liste de listes à deux éléments n'est pas une liste de deux listes. »

  • Q19 — NATURAL JOIN, FULL JOIN hors programme-1 pts

    « Rappelons que la seule syntaxe exigible du programme pour effectuer une jointure est table1 JOIN table2 ON condition (jointure symétrique simple). Trop de candidats ont voulu se lancer dans des NATURAL JOIN et autres FULL JOIN sans maîtriser précisément leurs effets. »

  • Q20 — complexité O(ln n) délirante (sans accéder à toutes les données)-2 pts

    « Mis à part les habituelles réponses de complexité délirantes (O(n!), O(2n)… les candidats ont-ils conscience de ce qu'une telle complexité signifie concrètement?) on a aussi vu beaucoup de complexités en O(ln(n)). Rappelons qu'une complexité logarithmique implique que l'on n'ait pas besoin d'accéder à l'intégralité des données. »

  • Appels multiples à des fonctions complexes dans une boucle-2 pts

    « Il est dommage que dans de nombreuses copies, on trouve des appels à des fonctions complexes au sein d'une boucle, alors qu'un seul appel avant la boucle suffit. Le jury redemande explicitement aux candidats de s'entraîner à éviter ces appels multiples inutiles qui augmentent souvent artificiellement la complexité d'un programme. »

Chapitres clés à maîtriser

Python — range, indices, boucles
Lecture/exploitation de fichiers texte
Tris (rapide, insertion) et complexités
SQL — jointures (JOIN ON, pas NATURAL JOIN)
Complexité algorithmique

Source : Rapport du jury Mines-Ponts · Info PC, session 2018 · PDF officiel ↗

Ressources

Téléchargements

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

FAQ

Questions fréquentes — 2018

Partager

Préparation Mines-Ponts · Info PC

Bossez ce sujet 2018 avec un ancien taupin

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

Sujet