diff --git a/S2/TP4/analyse_en_moyenne.py b/S2/TP4/analyse_en_moyenne.py index 2ed228a..2a630c1 100755 --- a/S2/TP4/analyse_en_moyenne.py +++ b/S2/TP4/analyse_en_moyenne.py @@ -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() diff --git a/S2/TP4/analyse_tris.py b/S2/TP4/analyse_tris.py index be86e71..57d9924 100755 --- a/S2/TP4/analyse_tris.py +++ b/S2/TP4/analyse_tris.py @@ -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)