• Aucun résultat trouvé

Partiel d'Informatique ScientifiqueCalculs Statistiques Simples

N/A
N/A
Protected

Academic year: 2022

Partager "Partiel d'Informatique ScientifiqueCalculs Statistiques Simples"

Copied!
3
0
0

Texte intégral

(1)

IUT ORSAY Page 1 Sujet Partiel Stats Mesures physiques

Nom : ____________________________________ Date: _____________________________________

Prénom : _________________________________ Ordinateur : ___________ Groupe : _______

Partiel d'Informatique Scientifique Calculs Statistiques Simples

Tout document papier, clé USB autorisés.

Tout autre système électronique portable interdit.

Vous devez stoker les modules Python et fichiers annexes dans le réper- toire Partiel sur le « bureau » de l'utilisateur info. Les modules devront contenir les en-têtes habituels, entre autre votre nom ; le code devra être documenté/commenté et testé, les modules outils devront avoir leur partie de tests à la fin du module.

La notation tiendra compte du respect strict des consignes sur le travail demandé, de la qualité des chaînes de documentation et des commentaires, de la pertinence des tests.

Attention à la syntaxe, aux calculs d'indices… si vous avez des doutes, pensez à tester dans la zone de l'interpréteur interactif.

Construisez vos tests, à la fin du module, au fur et à mesure que vous écrivez le code des fonctions à tester.

Si vous n'arrivez pas à terminer une fonction, faites-lui retourner une valeur bidon du même type que celui qu'elle doit retourner, et passez à la suite du partiel.

1. Introduction

Il y a souvent des discussions lorsque paraissent des études statistiques concernant les valeurs médiane et moyenne. Nous allons mettre en place des outils permettant de calculer ces deux valeurs et les utiliser avec un jeu de données.

• La valeur moyenne est la somme des valeurs divisée par le nombre de valeurs.

• La valeur médiane est la valeur située à l'index du milieu de la liste des valeurs lors- qu'on ordonne celles-ci (si l'index du milieu tombe entre deux valeurs, on prendra la moyenne de ces deux valeurs).

Exemple 1 : série de valeurs 11, 8, 12, 7, 4.

La moyenne est (11+6+12+7+4)/5 = 42/5 = 8.4.

Pour la médiane il faut ordonner les valeurs : 4, 7, 8, 11, 12 et prendre la valeur qui se trouve au milieu, on trouve directement 8.

Exemple 2 : série de valeurs 12.4, 12.8, 12.0, 12.6, 12.9, 15.

La moyenne est (12.4+12.8+12.0+12.6+12.9+15)/6 = 77.7/6 = 12.95

Pour la médiane il faut ordonner les valeurs : 12.0, 12.4, 12.6, 12.8, 12.9, 15 et prendre la valeur qui se trouve au milieu. Comme le milieu tombe entre 12.6 et 12.8, on fait la moyenne de ces deux valeurs et on trouve 12.7.

Nous allons aussi mettre en place un outil pour étudier la répartition du nombre de va- leurs par tranches de valeurs, comme ce qui est utilisé pour faire des histogrammes où les valeurs sont regroupées et comptées.

Par exemple, sur les notes du DS, en comptant 0 pour les absents, on a :

• 3 notes dans [ 0, 5 [ soit 9,38 % des notes

• 10 notes dans [ 5, 10 [ soit 21,25 % des notes

(2)

IUT ORSAY Page 2 Sujet Partiel Stats Mesures physiques

• 14 notes dans [ 10, 15 [ soit 43,75 % des notes

• 5 notes dans [ 15, 20 [ soit 15,62 % des notes

Les données

Les données seront stockées dans une liste de flottants [v0, v1, v2,…, vn]. Par exemple :

>>> valeurs = [ 12.4, 12.8, 12.0, 12.6, 12.9, 15 ]

Pour les tests, on utilisera des expressions de listes simples permettant des vérifica- tions directes.

Note: Pour vos algorithmes, considérez que :

il y a toujours au moins deux valeurs dans la liste,

les valeurs sont toutes positives ou nulles.

Donc pas besoin de vérifier cela dans vos fonctions.

2. Module outils

Créer un module Python stats_m.py qui contiendra les fonctions suivantes :

moyenne(p_vals) qui retourne la moyenne des valeurs passées dans la liste p_vals.

Attention, il est interdit dans le code de moyenne() d'utiliser la fonction sum() de Python.

mediane(p_vals) qui retourne la médiane des valeurs passées dans la liste p_vals telle qu'elle est définie dans l'introduction.

repartition(p_vals, p_pas) qui retourne la liste des comptages du nombre de valeurs de la liste p_vals dans les tranches consécutives de largeur p_pas.

charge_fichier(p_nomfichier) qui retourne la liste des valeurs de type flottant qu'elle a lu dans le fichier texte (encodage 'utf-8') dont on a donné le nom dans le paramètre p_nomfichier. Le fichier texte lu doit contient une valeur numérique par ligne.

Exemples d'utilisation de ces fonctions :

>>> from stats_m import *

>>> moyenne([11,8,12,7,4]) 8.4

>>> mediane([11,8,12,7,4]) 8

>>> repartition([11,8,12,7,4],5) [1, 2, 2]

>>> charge_fichier("tmp.txt") [0.1, 0.6, 1.1, 1.6]

3. Module principal

Faites une copie dans votre répertoire d'examen du fichier "donnees_stats.txt" qui se trouve dans le répertoire "PartielH1" sur le bureau.

Créer un module Python stats.py, qui importe les fonctions des deux modules pré- cédente et les utilise pour réaliser les traitements suivants :

Définir deux variables globales, NOMFICHIER qui contient "donnees_stats.txt", et PAS qui contient 1000.

Lire le fichier de données qui contient des données de revenus annuels.

Afficher le nombre de valeurs.

(3)

IUT ORSAY Page 3 Sujet Partiel Stats Mesures physiques

Calculer et afficher, avec la présentation qui va bien, la valeur moyenne et la valeur médiane.

Calculer la liste des répartitions en découpant des tranches avec le PAS donné.

Afficher, pour chaque tranche ayant un comptage de répartition non nul :

les bornes de la tranche,

le nombre de valeurs de la tranche,

le pourcentage représenté par la tranche par rapport au nombre total de va- leurs.

Enregistrer les données de répartition non nulles (valeur du milieu de la tranche, comptage) dans un fichier texte "courbe.txt" (sur deux colonnes séparées par un espace comme vous l'avez déjà fait), et utilisez la fonction du module plot_m pour afficher une courbe à l'aide de ces points.

4. Complément : module générique

Lorsqu'on utilise Python dans une console, il est possible de retrouver les para- mètres qui ont été saisis sur la ligne de commande dans la variable liste argv du module sys. Par exemple avec le module exemplecli.py suivant :

import sys

print(repr(sys.argv))

On a, lors de l'exécution dans une console :

$ cd ~/Bureau/PartielH1

$ python3 exemplecli.py Un essai avec 5 parametres

['exemplecli.py', 'Un', 'essai', 'avec', '5', 'parametres']

Copiez le module stats.py en statscli.py. Adaptez statscli.py afin que l'on puisse l'utiliser avec n'importe quel fichier de données et avec n'importe quelle largeur de tranche ; le nom du fichier de données et la largeur de tranche étant fournis en para- mètres au script sur la ligne de commande.

S'il manque un paramètre (ou s'il y en a trop), le module affichera simplement une aide rappelant son usage.

Références

Documents relatifs

[r]

Un code pour le cadenas est donc un nombre constitué de 6 chires, chacun d'entre eux provenant d'une des roues. (Les réponses aux questions suivantes devront être précisément

Ce second algorithme semble vouloir simuler les réalisations de A et de B indépendamment,. les probabilités

pour le problème des n dames pourrait être: pour chaque n pour lequel il y a une solution, dans l'ordre, générer n ainsi qu'**une** des solutions au problème des n dames.. Pour

[r]

2) Représenter graphiquement la suite (laisser cette représentation graphique sur la même feuille).

2) Représenter graphiquement la suite (laisser cette représentation graphique sur la même feuille).

Dernier sujet que nous aborderons dans ce didacticiel, nous voulons vérifier que dans un ménage, l’homme a tendance à avoir un salaire plus élevé que celui de la