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

Annale · 2019Session du 29 avril 2019

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

Techniques algorithmiques autour des nombres premiers. Sujet d'informatique commune (MP/PC/PSI) sur des techniques algorithmiques autour du thème des nombres premiers. Notions vues durant les deux années : représentation des flottants (erreurs d'arrondis……

Mohamed K.

Mohamed K.

Centralien · MPSI puis MP · Recherche ML santé

Session 2019 :

InfoChimieMaths IMaths II
Aperçu rapide

Top piège du sujet : Q2 — 10e-5 ne définit pas 10⁻⁵ 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) sur des techniques algorithmiques autour du thème des nombres premiers. Notions vues durant les deux années : représentation des flottants (erreurs d'arrondis), partie entière du logarithme, codage binaire, crible d'Ératosthène, complexité, génération de nombres premiers (Blum-Blum-Shub), méthode des trapèzes vs rectangles.

Structure de l'épreuve

  1. Partie IQ1-Q7 — Représentation et flottants(Q1-Q7)Niveau attendu

    Q1 numpy/matplotlib ≠ math. Q2 syntaxe flottants : 10e-5 ≠ 10⁻⁵ en Python. Q3 récurrence simple. Q4 partie entière du logarithme en base b. Q5 erreurs d'arrondis dues aux flottants (pas « ordinateur » ou « python »). Q6 préfixe giga. Q7 1 booléen sur 2 bits (faux).

  2. Partie IIQ8-Q12 — Crible d'Ératosthène et codage binaire(Q8-Q12)Difficile

    Q8 traduction de l'algorithme — initialisations, indices erato_iter[i] = primalité de i+1. Q9 dépend de Q8. Q11 somme géométrique 2^k mal calculée. Q12 if a/i == int(a/i) faux pour la divisibilité (utiliser %).

  3. Partie IIIQ13-Q18 — Pseudo-primalité, complexité, intégration(Q13-Q18)Difficile

    Q13 valeur de bbs subtile, condition de pseudo-primalité (les 4 conditions toutes nécessaires). Q14 un seul appel à erato_iter. Q15 complexité linéaire imposée. Q16 ne pas appeler Pi dans la boucle, comparer une liste à un flottant. Q18 méthode des trapèzes même complexité que rectangles.

Analyse globale du jury

« La présentation générale de la très grande majorité des copies est satisfaisante. Le jury a été surpris de relever beaucoup d'erreurs de calcul incongrues à ce niveau (somme géométrique). Mélange de notations mathématiques (parties entières, racines) avec le code Python — sanctionné. Certains candidats semblent n'avoir aucune notion de la complexité algorithmique : faire appel à Pi ou erato_iter au cœur d'une double boucle. »

Top pièges sanctionnés

  • Q2 — 10e-5 ne définit pas 10⁻⁵ en Python-1 pts

    « Beaucoup de confusions sur l'écriture des flottants… e-5, 10e-5, ou 10^-5 ne définissent pas 10⁻⁵ en python. Par ailleurs, l'affectation de 10⁻⁸ via rtol=0.00000001 n'est pas une solution élégante. »

  • Q5 — erreur d'arrondis attribuée à « python »-2 pts

    « Beaucoup n'en ont pas été capables, mettant parfois en cause « l'ordinateur », « le langage python » ou prétendant que « l'addition est moins précise que la multiplication ». »

  • Q7 — booléen sur 2 bits car deux valeurs-1 pts

    « Une erreur fréquente : « un booléen doit être codé au minimum sur 2 bits, car il ne peut prendre que deux valeurs ». La notion de bit informatique est donc mal comprise de ces candidats. »

  • Q12 — if a/i == int(a/i) pour divisibilité-2 pts

    « On a lu beaucoup trop de if a/i==int(a/i), ce qui est une solution fausse pour vérifier que a est divisible par i. »

  • Notation mathématique en code Python-1 pts

    « On a remarqué cette année dans beaucoup de copies un mélange entre des notations propres aux mathématiques (parties entières, racines...) et le code Python. Cela est généralement sanctionné : un algorithme en python n'est pas du pseudo-code, il faut utiliser les opérateurs du langage. »

  • Pi ou erato_iter dans une double boucle-2 pts

    « Faire appel à une fonction de complexité significative comme Pi ou erato_iter au cœur d'une double boucle devrait pourtant leur poser un problème... surtout quand il existe une solution beaucoup plus simple et facilement accessible. »

  • Plusieurs solutions présentées — choix sur la mauvaise-1 pts

    « Le jury n'a pas à choisir entre une solution juste et une solution fausse : la notation se fera toujours sur la mauvaise. »

Chapitres clés à maîtriser

Représentation des flottants et erreurs d'arrondis
Crible d'Ératosthène et complexité
Codage binaire et préfixes (giga, etc.)
Tests de divisibilité (% vs /)
Méthodes d'intégration numérique (rectangles, trapèzes)

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

Ressources

Téléchargements

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

FAQ

Questions fréquentes — 2019

Partager

Préparation Mines-Ponts · Info PC

Bossez ce sujet 2019 avec un ancien taupin

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

Sujet