Corrigé Ecricome 2025 Maths appliquées ECG — Exercice 3 — Partie II (Q5 à Q8.e) : Simulation d'une loi binomiale décalée, loi empirique et diagramme en bâtons, clefs primaires, schéma relationnel et requêtes SQL
Sujet officiel du concours Ecricome, session 2025, épreuve Maths appliquées ECG. Corrigé rédigé par Ibrahim Alame.
Sujet officiel (PDF, site du concours)
Énoncé
Soit . La variable est le numéro de la catégorie d'un individu tiré au hasard ; .
Q5. Avec la seule fonction random de numpy.random, écrire simulY(n, p) qui simule .
Q6. Compléter la fonction loiY(n, p) du sujet (N = 10000 tirages, liste loi = [0] * n) pour qu'elle renvoie une liste de valeurs approchées des .
Q7. Écrire une fonction affichant un diagramme en bâtons approché de la loi de .
Q8. Tables : individu(i_nom, i_prenom, i_departement, i_insee, i_code_profession) ; departement(d_numero, d_nom, d_population) ; profession(p_pcs, p_categorie, p_intitule), où p_categorie est la catégorie (de à ) et p_pcs le code PCS, propre à chaque profession. (a) Que doit vérifier une clef primaire ? (b) Proposer une clef primaire pour chaque table. (c) Dresser le schéma relationnel, avec les liens entre tables. (d) Requête : les codes PCS, sans répétition, des professions exercées dans le département numéro . (e) Requête : pour chaque individu, son numéro INSEE et sa catégorie socioprofessionnelle.
Corrigé
Q5. Comme , a la loi du nombre de succès dans épreuves de Bernoulli indépendantes de paramètre . Un appel rd.random() simule et : le test rd.random() < p simule une épreuve de Bernoulli de paramètre , et des appels successifs sont indépendants.
import numpy.random as rd
def simulY(n, p):
y = 1 # Y = 1 + (nombre de succes)
for k in range(n - 1): # n - 1 epreuves de Bernoulli
if rd.random() < p: # succes, avec probabilite p
y = y + 1
return y
La variable y vaut plus le nombre de succès parmi épreuves indépendantes, donc suit la loi de avec : c'est la loi de . (Pour , la boucle est vide et la fonction renvoie , ce qui est correct puisque est nulle.)
Ce que le correcteur attend : pas de rd.binomial, exclu par l'énoncé.
Q6. Les valeurs de sont ; on range la fréquence de la valeur dans la case d'indice de la liste (indices de à ). Chaque tirage ajoute à la case de la valeur obtenue.
def loiY(n, p):
N = 10000
loi = [0] * n
for k in range(N):
y = simulY(n, p)
loi[y - 1] += 1 / N
return loi
En fin de boucle, loi[i-1] est la fréquence de la valeur sur simulations indépendantes de ; d'après la loi faible des grands nombres, appliquée aux indicatrices des événements , c'est une valeur approchée de . Exécution avec , : la fonction renvoie (arrondi) , pour des valeurs exactes égales à .
100 % gratuit
La suite du corrigé est sur Adloun
Le corrigé rédigé en entier, question par question, et le tuteur pour poser des questions sur ce sujet.
Voir le corrigé complet, gratuitementInscription gratuite en 30 secondes (e-mail, nom d'utilisateur, mot de passe, classe ou profil), sans carte bancaire : arrivée directe sur le corrigé.