BCPST 1A
M. Molin - Lycée Marcelin Berthelot
Année 2015-2016
INTERROGATION MATHÉMATIQUES & PYTHON
Vendredi 5 février 2016
Calculatrice autorisée
L’élégance et l’efficacité des algorithmes proposés seront pris en compte dans la notation.
Rappel : si liste est une liste en Python, liste[-1] désigne le dernier élement de cette liste.
EXERCICE 1 (Tri)
Programmez une fonction qui effectue le tri par sélection d’une liste de nombres.
EXERCICE 2 (Moyennes diverses)
Dans cet exercice, les listes sont numériques (composées de nombres) et non vides.
1) Programmez une fonction Python moy(liste) qui renvoie la moyenne d’une liste.
Par exemple, moy([6,10,14,8,10,2,4,12]) renvoie 8.25
2) Programmez une fonction Python moyp(liste1,coeffs) qui renvoie la moyenne des valeurs de liste1 pondérées par
les valeurs de la liste de même longueur coeffs.
3) On veut programmer une fonction moyEvol(liste) qui prend comme argument une liste et qui renvoie la liste dont le
k-ième élément est la k-ième moyenne partielle de liste, c’est à dire la moyenne des kpremières valeurs de liste.
Par exemple,
moyEvol([6,10,14,8,10,2,4,12]) renvoie [6, 8.0, 10.0, 9.5, 9.6, 8.333333333333334, 7.714285714285714, 8.25]
(a) Programmez la fonction en Python à l’aide de la fonction moy.
(b) (*) Programmez la fonction en Python en n’effectuant qu’un seul parcours de la liste1.
4) Pour un paramètre n∈Nfixé, on définit la moyenne mobile d’indice kde liste par
• si k<n, alors la moyenne mobile d’indice kest égale à la k-ième moyenne partielle.
• si k≥n, alors la moyenne mobile d’indice kest la moyenne des n-éléments précédant l’indice k(compris) dans
liste.
On veut programmer une fonction moyMobile(liste,n) qui renvoie la liste de moyennes mobiles d’indice kde liste.
Par exemple : moyMobile([6,10,14,8,10,2,4,12],2) renvoie [6, 8.0, 12.0, 11.0, 9.0, 6.0, 3.0, 8.0]
Par exemple : moyMobile([6,10,14,8,10,2,4,12],4) renvoie [6, 8.0, 10.0, 9.5, 10.5, 8.5, 6.0, 7.0]
(a) Programmez la fonction en Python à l’aide de la fonction moy.
(b) (*) Programmez la fonction en Python en n’effectuant qu’un seul parcours de la liste.
EXERCICE 3 (Statistiques bivariées)
Dans cet exercice, liste1 et liste2 désignent deux listes numériques non vides et de même longueur. Elles représentent les
deux lignes d’un tableau statistique à deux variables.
Vous pourrez utiliser les fonctions définies aux exercices précédents.
1) En utilisant la syntaxe par compréhension, donnez une courte instruction pour avoir la liste des x2
ià partir de la liste des
xi(par exemple pour liste1).
2) Donnez la formule de König-Huygens pour le calcul de la covariance.
3) Programmez une fonction Python cov(liste1,liste2) qui renvoie la covariance des deux variables.
4) liste1 est une liste de nombres fixée, et on écrit
liste3=[1 for ki n liste1]
Que fait cette commande ?
Quelle valeur renvoie la commande cov(liste1,liste3) ? Justifiez.
5) Rappelez la formule du coefficient de corrélation.
6) À l’aide des fonctions précédentes, programmez une fonction correl(liste1,liste2) qui affiche le coefficient de cor-
rélation du nuage statistique (arrondi à 10−3près).
On supposera que les variables prennent plusieurs valeurs distinctes.
1On remarque que la solution précédente possède deux boucles l’une dans l’autre et effectue donc plusieurs passages sur chaque élément de la liste. Ce
n’est pas optimal.
Page 1 sur 1