{"id":162,"date":"2022-01-31T16:52:42","date_gmt":"2022-01-31T15:52:42","guid":{"rendered":"http:\/\/yb-isn.fr\/2021\/nsi\/jean-lou\/?p=162"},"modified":"2022-01-31T16:52:42","modified_gmt":"2022-01-31T15:52:42","slug":"evaluation-de-temps-dexecution","status":"publish","type":"post","link":"http:\/\/yb-isn.fr\/2021\/nsi\/jean-lou\/2022\/01\/31\/evaluation-de-temps-dexecution\/","title":{"rendered":"\u00e9valuation de temps d\u2019ex\u00e9cution"},"content":{"rendered":"\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">t=[]\nn=10\nMax=10\nfor i in range(n):\n    t.append(random.randint(0,Max))<\/pre>\n\n\n\n<p>Nous avons essay\u00e9 de comprendre le sens de la ligne de commande <\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">t.append(random.randint(0,Max))<\/pre>\n\n\n\n<p>et elle sert \u00e0 g\u00e9n\u00e9rer un nombre al\u00e9atoire.<\/p>\n\n\n\n<p>Nous avons essay\u00e9 le deuxi\u00e8me programme <\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import time\ndebut=time.time()\nt=[]\nfor i in range(100000):\n    t.append(random.randint(0,10))\nduree=time.time()-debut\nprint(duree)<\/pre>\n\n\n\n<p>ce programme permet de mesurer la dur\u00e9e d\u2019ex\u00e9cution d\u2019un programme, il marche parfaitement et je pense qu&rsquo;il y a rien \u00e0 signal\u00e9.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import matplotlib.pyplot as plt\nx=[i for i in range(10)]\ny=[-2*xval+10 for xval in x]\nplt.scatter(x,y)\nplt.show()<\/pre>\n\n\n\n<p>le programme marche, j&rsquo;ai juste essayer de comprendre la balise si dessous :<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">plt.scatter(x,y)<\/pre>\n\n\n\n<p>je pense qu&rsquo;elle sert \u00e0 configurer des valeurs dans un tableau<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import time\nimport matplotlib.pyplot as plt\nimport numpy as np\nimport random\ndef duree_tableau_alea(n):\n    debut=time.time()\n    t=[random.randint(0,10) for i in range(n)]\n    duree=time.time()-debut\n    return duree\ndef duree_tableau_alea1(n):\n    debut=time.time()\n    t=list(np.random.randint(10,size=n))\n    duree=time.time()-debut\n    return duree\ndef duree_tableau_alea2(n):\n    t=[]\n    debut=time.time()\n    for i in range(n):\n        t.append(random.randint(0,6))\n    duree=time.time()-debut\n    return duree\nx=[(i)*10**5 for i in range(5)]\ny=[duree_tableau_alea(val) for val in x]\ny1=[duree_tableau_alea1(val) for val in x]\ny2=[duree_tableau_alea2(val) for val in x]\nplt.scatter(x,y, color='coral', linestyle='solid', label='liste en compr\u00e9hension')\nplt.scatter(x,y1, color='navy', linestyle='solid', label='tableau numpy')\nplt.scatter(x,y2, color='green', linestyle='solid', label='liste avec append')\nax = plt.gca()\nax.spines['right'].set_color('none')\nax.spines['top'].set_color('none')\nax.xaxis.set_ticks_position('bottom')\nax.spines['bottom'].set_position(('data',0))\nax.yaxis.set_ticks_position('left')\nax.spines['left'].set_position(('data',0))\nplt.title('dur\u00e9e de c\u00e9ation d''un tableau de n valeurs al\u00e9atoires ',color=\"navy\", fontsize=12)\nax = ax.set(xlabel='n ', ylabel='dur\u00e9e (en s)')\nplt.legend(loc='center right');\nplt.show()<\/pre>\n\n\n\n<p>je pense avoir compris ce programme, il sert \u00e0 g\u00e9n\u00e9rer sur un tableau de valeurs des valeurs al\u00e9atoires en fonction d&rsquo;une dur\u00e9e d&rsquo;\u00e9xecution.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import time\nimport matplotlib.pyplot as plt\nimport numpy as np\nimport random\ndef tri_insertion(tableau):\n    for i in range(1,len(tableau)):\n        en_cours = tableau[i]\n        j = i\n        #d\u00e9calage des \u00e9l\u00e9ments du tableau }\n        while j&gt;0 and tableau[j-1]&gt;en_cours:\n            tableau[j]=tableau[j-1]\n            j = j-1\n        #on ins\u00e8re l'\u00e9l\u00e9ment \u00e0 sa place\n        tableau[j]=en_cours  \n        \ndef tri_selection(tableau):\n    nb = len(tableau)\n    for en_cours in range(0,nb):    \n        plus_petit = en_cours\n        for j in range(en_cours+1,nb) :\n            if tableau[j] &lt; tableau[plus_petit] :\n                plus_petit = j\n        if min is not en_cours :\n            temp = tableau[en_cours]\n            tableau[en_cours] = tableau[plus_petit]\n            tableau[plus_petit] = temp\ndef duree_tris(n):\n    t1=list(np.random.randint(10,size=n))\n    t2=t1.copy()\n    t3=t1.copy()\n    debut=time.time()\n    tri_selection(t1)\n    duree_selection=time.time()-debut\n    debut=time.time()\n    tri_insertion(t2)\n    duree_insertion=time.time()-debut\n    debut=time.time()\n    t3.sort()\n    duree_sort=time.time()-debut\n    return duree_selection,duree_insertion,duree_sort\nx=[(i)*10**3 for i in range(10)]\ny=[duree_tris(val) for val in x]\ny1=[y[i][0] for i in range(10)]\ny2=[y[i][1] for i in range(10)]\ny3=[y[i][2] for i in range(10)]\nplt.scatter(x,y1, color='navy', linestyle='solid', label='tri selection')\nplt.scatter(x,y2, color='green', linestyle='solid', label='tri insertion')\nplt.scatter(x,y3, color='red', linestyle='solid', label='tri sort')\nax = plt.gca()\nax.spines['right'].set_color('none')\nax.spines['top'].set_color('none')\nax.xaxis.set_ticks_position('bottom')\nax.spines['bottom'].set_position(('data',0))\nax.yaxis.set_ticks_position('left')\nax.spines['left'].set_position(('data',0))\nplt.title('dur\u00e9e pour trier un tableau de n valeurs al\u00e9atoires ',color=\"navy\", fontsize=12)\nax = ax.set(xlabel='n ', ylabel='dur\u00e9e (en s)')\nplt.legend(loc='upper left');\nplt.show()\nprint(y1)\nprint(y2)\nprint(y2)<\/pre>\n\n\n\n<p>je ne comprends pas vraiment le programme (le sens du programme) mais je pense avoir compris le sens des lignes de code. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nous avons essay\u00e9 de comprendre le sens de la ligne de commande et elle sert \u00e0 g\u00e9n\u00e9rer un nombre al\u00e9atoire. Nous avons essay\u00e9 le deuxi\u00e8me programme ce programme permet de mesurer la dur\u00e9e d\u2019ex\u00e9cution d\u2019un programme, il marche parfaitement et je pense qu&rsquo;il y a rien \u00e0 signal\u00e9. le programme marche, j&rsquo;ai juste essayer de [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/jean-lou\/wp-json\/wp\/v2\/posts\/162"}],"collection":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/jean-lou\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/jean-lou\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/jean-lou\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/jean-lou\/wp-json\/wp\/v2\/comments?post=162"}],"version-history":[{"count":3,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/jean-lou\/wp-json\/wp\/v2\/posts\/162\/revisions"}],"predecessor-version":[{"id":166,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/jean-lou\/wp-json\/wp\/v2\/posts\/162\/revisions\/166"}],"wp:attachment":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/jean-lou\/wp-json\/wp\/v2\/media?parent=162"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/jean-lou\/wp-json\/wp\/v2\/categories?post=162"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/jean-lou\/wp-json\/wp\/v2\/tags?post=162"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}