• Aucun résultat trouvé

Partiel d'Informatique ScientifiqueLoi de Benford

N/A
N/A
Protected

Academic year: 2022

Partager "Partiel d'Informatique ScientifiqueLoi de Benford"

Copied!
2
0
0

Texte intégral

(1)

IUT ORSAY Page 1 Sujet Partiel Benford Mesures physiques

Nom ::: _________________________________ Date __________________________________

Prénom ::: _______________________________ Ordinateur ::: ___________ Groupe _______

Partiel d'Informatique Scientifique Loi de Benford

Tout document papier, clé USB autorisés.

Tout autre système électronique portable interdit.

Le contenu de votre clé USB doit être recopié sur l'ordinateur en début d'examen, puis la clé déconnectée définitivement !

Vous devez stocker les modules Python et fchiers annexes dans un répertoire de partiel S1A2-VotreNom que vous devez créer sur le « bureau » ou dans le répertoire de vos documents.

En fn de séance, votre répertoire de partiel S1A2-VotreNom doit être copié dans le ré­

pertoire /media/tp/fchiers-etudiants.

Les modules devront contenir les en-têtes habituels, entre autre votre nom :::l le code devra être documenté/commenté et testé, les modules outils devront avoir leur partie de tests à la fn du module.

La notation tiendra compte du respect strict des consignes sur le travail demandé, de la qua­

lité des chaînes de documentation et des commentaires, de la pertinence des tests.

Atention à la syntaxe, aux calculs d'indices… si vous avez des doutes, pensez à tester dans la zone de l'interpréteur interactif. Utilisez aussi l'aide en ligne de Python si besoin. Et regardez les indications données dans les messages d'erreur lorsque vous déboguez.

Construisez vos tests, dans le bloc if __name__ == '__main__' à la fn du module , au fur et à mesure que vous écrivez le code des fonctions à tester. Prenez des valeurs simples pour les tests — par exemple celles donnée dans l'introduction, pour lesquelles vous avez déjà les résultats atendus.

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

Cete loi est liée à une observation empirique de la fréquence de distribution statistique de certains nombres issus du monde réel. Franck Bedford s'est aperçu que, pour des séries de nombres comme par exemple les valeurs issues d'une comptabilité, si on ne considère que le pre­

mier chifre signifcatif de ces valeurs, alors la répartition se fait en suivant une formule de fré ­ quence d'apparition ::: log10(1+ 1

chiffre)

Un écart de répartition des valeurs comptables donne un indice de comptabilité faussée.

Nous allons metre en place les outils pour essayer de vérifer cete loi sur diférentes séries statistiques. Les données de répartition seront stockées dans des listes de 10 éléments, où l'élé­

ment à l'index zéro sera ignoré (à priori 0) et les éléments aux autres index contiendront les va­

leurs calculées.

(2)

IUT ORSAY Page 2 Sujet Partiel Benford Mesures physiques

2. Outils de base

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

prenchif(p_n) qui retourne la valeur entière du premier chifre du nombre p_n. On pourra utiliser un traitement sur les chaînes ou bien la fonction log10() du module math.

benford() qui ne prend aucun paramètre et retourne une liste de dix valeurs correspon­

dant à la répartition des nombres suivant la loi de Benford (en arrondissant à 3 décimales, vos calculs doivent donner ::: [0, 0.301, 0.176, 0.125, 0.097, 0.079, 0.067, 0.058, 0.051, 0.046])

repartlst(p_lst) qui prend en paramètre une liste de nombres, et qui retourne une liste de répartition des premiers chifres de ces nombres.

repartfic(p_nomfic) qui prend en paramètre une chaîne correspondant à un nom de fchier, fchier contenant une série de valeurs numériques, sous forme de texte, avec une valeur par ligne. Comme la fonction est susceptible de traiter de gros fchiers, on préférera traiter les données au fur et à mesure plutôt que tout charger en mémoire. Elle retourne une liste répartition des premiers chifres de ces nombres.

presente(p_rep, p_larg) qui prend comme paramètres une liste de répartition ain­

si qu'une largeur maximale avec une valeur par défaut de 80, et qui afche une série de lignes avec des étoiles correspondant à la répartition. Par exemple, pour la répartition sui­

vant la loi de Benford, la fonction afchera :::

1 : ************************

2 : **************

3 : *********

4 : *******

5 : ******

6 : *****

7 : ****

8 : ****

9 : ***

sommeecarts(p_rep) qui prend comme paramètres une liste de répartition, et qui re­

tourne un nombre fotant donnant la somme des écarts entre les valeurs de cete liste et les valeurs correspondantes par la répartition de la loi de Benford.

3. Essais sur des données

Écrire un programme principal, soit dans le même module, soit dans un autre module qui importe le module contenant les fonctions, et qui fasse afcher la présentation sous forme d'étoiles ainsi que la somme des écarts pour :::

La loi de benford

Une séquence range(1, 1000)

Le fchier monts.txt fourni (qui contient les altitudes des 117 plus hautes montagnes)

Le fchier rivieres.txt fourni (qui contient les longueurs des 177 plus longs feuves)

Le fchier premiers.txt fourni (qui contient les 500000 premiers nombres premiers)

Références

Documents relatifs

Grâce à ce système de télévision nous ne sommes plus obligés d'avoir dans les établissements un professeur pour chaque matière mais nous pouvons avoir un

Pour répondre à ce type de besoin, nous avons développé un système qui permet à l'étudiant de simuler l'exécution de son programme Prolog, mais qui lui offre aussi

(on applique les règles de composition) Comment peut-on étudier le signe d’une fonction?. On la factorise et on utilise les règles de signe des fonctions affines (ax + b) ou

• 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

Ce chiffre ne concerne que les émetteurs et ne représente pas le nombre des valeurs cotées, car la Ville de Paris, par exemple, qui ne compte que pour une unité comme émetteur,

Mais c’est bien souvent dans la nature que la situaon est la plus crique, car la propagaon des espèces invasives devient alors très difficile à contenir.. C’est souvent le long

Le sujet est (en principe) trop long pour le temps imparti, il est donc conseill´e de traiter en priorit´e les questions que l’on sait faire en en indiquant clairement la r´ef´erence

Cette observation vous semble-t-elle compatible avec l’affirmation : « le premier chiffre de la population des communes en France au 1 er janvier 2016 suit la loi de Benford