Corrigé BSB 2026 Maths ECT — Exercice 1 — Partie II (Q7 à Q9) : Python : factorielle par boucle, fonction fn(x) avec numpy, et identification des courbes de f1 et f2 parmi trois tracés
Sujet officiel du concours BSB, session 2026, épreuve Maths ECT. Corrigé rédigé par Ibrahim Alame.
Sujet officiel (PDF, site du concours)
Énoncé
On reprend . Les bibliothèques numpy et matplotlib.pyplot sont importées sous les noms np et plt.
Q7. Compléter une fonction fact(n) (initialisation, puis boucle for k in range(1,n+1)) pour qu'elle renvoie .
Q8. À l'aide de fact, écrire une très courte fonction f(n,x) renvoyant .
Q9. Un script trace sur (100 points) pour plusieurs valeurs de , ce qui donne trois graphiques. Dire, en justifiant, lesquels représentent et . (Graphique 1 : départ vers en , minimum en , bosse vers en ; graphique 2 : départ légèrement négatif, palier près de , bosse vers en ; graphique 3 : départ vers , bosse à en , puis décroissance vers .)
Corrigé
Q7. La variable f joue le rôle d'un accumulateur de produit : on l'initialise à (élément neutre de la multiplication), puis on la multiplie successivement par .
def fact(n):
f = 1
for k in range(1, n + 1):
f = f * k
return f
À la sortie de la boucle, f vaut . Pour , range(1,1) est vide : la boucle ne s'exécute pas et la fonction renvoie , conformément à la convention. L'exécution de [fact(n) for n in range(6)] affiche [1, 1, 2, 6, 24, 120].
Ce que le correcteur attend : l'initialisation à (et non à , qui donnerait toujours ), et la mise à jour f = f * k avec l'indice de boucle k.
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é.