Graphique un peu plus beau

This commit is contained in:
Geoffrey Frogeye 2015-03-15 12:01:28 +01:00
parent 07ad4f2f6f
commit a365b4321f
2 changed files with 22 additions and 10 deletions

View file

@ -24,7 +24,7 @@ parser = argparse.ArgumentParser(
parser.add_argument(
'--brut', action='store_true', help="afficher les données brutes")
parser.add_argument(
'--poly', action='store_true', help="calculer la regression pôlynominale")
'--poly', action='store_true', help="calculer la regression polynôminale")
parser.add_argument(
'--graph', action='store_true', help="voir les données sous forme de graphique")
parser.add_argument('-m', type=int, default=100, help="Changer la valeur de m")
@ -55,18 +55,24 @@ if args.poly:
# Affichage
from matplotlib import pyplot
if args.graph:
pyplot.plot(xData, yData, 'x')
pyplot.plot(xData, yData, 'x', label="Données brutes")
if args.poly:
if args.poly:
def f(x):
"""
float float
Retourne un point de la regression polynominale de l'analyse du tri.
Retourne un point de la regression polynôminale de l'analyse du tri.
CU : polynome est défini
"""
somme = 0
y = 0
for d in range(len(polynome)):
somme += polynome[d] * x**(len(polynome) - 1 - d)
return somme
pyplot.plot(xData, [f(x) for x in xData], '-')
y += polynome[d] * x ** (len(polynome) - 1 - d)
return y
pyplot.plot(xData, [f(x)
for x in xData], '-', label="Régression polynôminale")
pyplot.legend(loc='upper left')
pyplot.xlabel("n")
pyplot.ylabel("comparaisons")
pyplot.title("Nombre de comparaisons faite par le tri par insertion en fonction de la longueur \
de la liste")
pyplot.show()

View file

@ -28,6 +28,7 @@ affichage = __name__ == '__main__'
# fonctions et questions, mais pour la facilité de la correction nous avons préféré qu'il en soit
# ainsi.
def partie(nom):
"""
str
@ -60,6 +61,7 @@ def question(numero):
if affichage:
print('\n***', 'Question', numero, '***')
def reponse(texte):
"""
str
@ -260,7 +262,8 @@ if affichage:
for nb in range(1, 101):
tableau.append([nb,
tri_et_compte(tri_selection, liste_croissante(nb))[1],
tri_et_compte(tri_selection, liste_alea(nb, 0, 500))[1],
tri_et_compte(
tri_selection, liste_alea(nb, 0, 500))[1],
tri_et_compte(tri_selection, liste_decroissante(nb))[1]])
afficher_tableau(tableau)
@ -275,7 +278,8 @@ if affichage:
for nb in range(1, 101):
tableau.append([nb,
tri_et_compte(tri_insertion, liste_croissante(nb))[1],
tri_et_compte(tri_insertion, liste_alea(nb, 0, 500))[1],
tri_et_compte(
tri_insertion, liste_alea(nb, 0, 500))[1],
tri_et_compte(tri_insertion, liste_decroissante(nb))[1]])
afficher_tableau(tableau)
@ -339,6 +343,7 @@ est {t2}.\nLes nombres de comparaisons pour ces deux tris sont {res}.".format(t1
question(1)
def nbre_moyen_tri_insertion(m, n):
"""
int, int float
@ -348,7 +353,8 @@ def nbre_moyen_tri_insertion(m, n):
"""
compTotal = 0
for _ in range(m):
compTotal += tri_et_compte(tri_insertion, liste_alea(n, -5000, 5000))[1]
compTotal += tri_et_compte(tri_insertion,
liste_alea(n, -5000, 5000))[1]
return compTotal / m
question(2)