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

Annale · 2022Session du 29 avril 2022

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

Modélisation et simulation de l'aimantation des matériaux magnétiques. Sujet d'informatique commune (MP/PC/PSI) en quatre parties sur la modélisation et la simulation de l'aimantation de matériaux magnétiques.…

Mohamed K.

Mohamed K.

Centralien · MPSI puis MP · Recherche ML santé

Session 2022 :

InfoChimieMaths IMaths II
Aperçu rapide

Top piège du sujet : 10^(-6) syntaxiquement faux en Python

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) en quatre parties sur la modélisation et la simulation de l'aimantation de matériaux magnétiques. Partie I : étude de l'aimantation moyenne. Partie II : traitement d'une base de données des propriétés des matériaux magnétiques (SQL). Partie III : modèle d'Ising décrivant la transition paramagnétique-ferromagnétique. Partie IV : étude de l'apparition de domaines magnétiques (domaines de Weiss).…

Structure de l'épreuve

  1. Partie IPartie I — Aimantation moyenne et dichotomie (Q1-Q5)(Q1-Q5)Niveau attendu

    Q1 fonction tanh, lambda non nécessaire. Q2 algorithme de dichotomie : confusion (b-a)/2 et (a+b)/2, test d'égalité entre flottants peu pertinent. Q3 complexité de la dichotomie — manipulation du logarithme. Q4 pas d'une subdivision de 500 points, syntaxe range et 10^(-6) erronées, oubli du cas t≥1.

  2. Partie IIPartie II — Base de données SQL (Q6-Q8)(Q6-Q8)Niveau attendu

    Q6 oubli du coefficient 4.5, deux attributs dans la même requête, jointure et choix d'attributs. Q7 utilisation de MIN avec erreurs de syntaxe. Q8 GROUP BY et HAVING souvent confondu avec WHERE.

  3. Partie IIIPartie III — Modèle d'Ising (Q9-Q19)(Q9-Q19)Difficile

    Q9 initialisation d'une liste (facile). Q10 alternance des 1 et -1 avec erreurs. Q11 conversion liste→liste de listes (initialisation, indices doubles). Q13 confusions élément/indice. Q14 côté probabiliste du changement de signe. Q15 complexité ne se résume pas à compter les boucles for.…

  4. Partie IVPartie IV — Domaines de Weiss : récursivité et piles (Q20-Q24)(Q20-Q24)Difficile

    Q20 interprétations farfelues. Q21-Q23 questions valorisant la prise de recul, la maîtrise de la récursivité et l'utilisation des piles par les meilleurs candidats.

Analyse globale du jury

« Si certaines copies sont très faibles (voire presque vides), certaines sont excellentes et frisent parfois la perfection. La longueur et la difficulté du sujet étaient ainsi tout à fait adaptées à ce type d'épreuve, ce qui a permis de classer les candidats. Les remarques effectuées dans le rapport 2021 s'appliquent pour une large part encore cette année. Le jury note cette année une recrudescence d'erreurs de syntaxe problématiques : 10^(-6), confusion entre = et == dans un test, utilisation abusive de range. »

Top pièges sanctionnés

  • 10^(-6) syntaxiquement faux en Python-1 pts

    « Le jury note également cette année une recrudescence d'erreurs de syntaxe problématiques : 10^(-6), confusion entre = et == dans un test, utilisation abusive de range (dont les bornes et le pas doivent être entiers). »

  • / vs // sur des entiers et des flottants-1 pts

    « Notons à ce propos la confusion fréquente entre les opérateurs / et // : par exemple, range(a/b) provoque une erreur, puisque a/b est un flottant (il convient alors d'utiliser la syntaxe range(a//b)). A contrario, (a+b)//2 ne renvoie pas le flottant (a+b)/2 : la syntaxe adéquate est dans ce cas (a+b)/2. »

  • L = h * [] initialise à une liste vide, pas h listes vides-1 pts

    « L'initialisation d'une liste L = [] suivie, dans une boucle for, d'une affectation L[i] = elt provoque une erreur. De même, l'instruction L = h*[] initialise la liste L à une liste vide (et pas à une liste de h listes vides). »

  • Q2 — dichotomie : (b-a)/2 vs (a+b)/2 milieu-2 pts

    « L'algorithme de dichotomie n'est pas suffisamment maîtrisé. Beaucoup de candidats confondent notamment (b-a)/2 et (a+b)/2 pour le calcul du milieu du segment [a, b]. Rappelons également qu'un test d'égalité entre deux flottants (visant à tester si l'on est tombé exactement sur une solution au cours de la dichotomie) n'est pas pertinent. »

  • Q15 — complexité = compter les boucles for-2 pts

    « La détermination de la complexité d'une fonction ne se résume pas à compter le nombre de boucles for ! »

  • Q18 — complexité O(n*n_tests) à tort-2 pts

    « Beaucoup de candidats ont identifié deux boucles (de n et n_tests itérations respectivement), et en ont conclu à tort que la complexité était en O(n*n_tests). »

  • Confusion élément/indice (Q13)-1 pts

    « Beaucoup de confusions entre élément et indice d'un élément dans une liste. »

Chapitres clés à maîtriser

Algorithme de dichotomie et complexité
Manipulation des listes Python (initialisation, indices, listes de listes)
SQL — GROUP BY, HAVING, jointures
Récursivité et structures de pile
Simulation Monte Carlo (modèle d'Ising)

Ressources

Téléchargements

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

FAQ

Questions fréquentes — 2022

Partager

Préparation Mines-Ponts · Info PC

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