{"id":151,"date":"2022-01-25T11:14:30","date_gmt":"2022-01-25T10:14:30","guid":{"rendered":"http:\/\/yb-isn.fr\/2021\/nsi\/maxence\/?p=151"},"modified":"2022-01-25T11:56:21","modified_gmt":"2022-01-25T10:56:21","slug":"les-algorithmes","status":"publish","type":"post","link":"http:\/\/yb-isn.fr\/2021\/nsi\/maxence\/2022\/01\/25\/les-algorithmes\/","title":{"rendered":"Les Algorithmes"},"content":{"rendered":"\n<h2 class=\"has-vivid-red-color has-text-color\">I)Introduction<\/h2>\n\n\n\n<p class=\"has-medium-font-size\">a)D\u00e9finition :<\/p>\n\n\n\n<p>Un algorithme est une suite d&rsquo;op\u00e9rations que l&rsquo;on met en place pour r\u00e9soudre un probl\u00e8me ou bien une classe de probl\u00e8mes, il est ainsi pr\u00e9sent dans le domaine de l&rsquo;algorithmique.<\/p>\n\n\n\n<p>Il est utilis\u00e9 pour r\u00e9soudre chaque probl\u00e8me lui faisant face, en revanche un algorithme sera plus efficace si il est utilis\u00e9 sur une machine \u00e9tant compos\u00e9 de meilleurs composant( M\u00e9moire vive, CPU, l&rsquo;alimentation). <\/p>\n\n\n\n<p>On utilisera un des langages de programmations pour l&rsquo;exprimer(Perl, Python, Java, C++, CAML, &#8230;.).<\/p>\n\n\n\n<p class=\"has-medium-font-size\">b)Exemples d&rsquo;algorithme :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" src=\"http:\/\/yb-isn.fr\/2021\/nsi\/maxence\/wp-content\/uploads\/sites\/15\/2022\/01\/image-26.png\" alt=\"\" class=\"wp-image-152\" width=\"157\" height=\"154\" srcset=\"http:\/\/yb-isn.fr\/2021\/nsi\/maxence\/wp-content\/uploads\/sites\/15\/2022\/01\/image-26.png 882w, http:\/\/yb-isn.fr\/2021\/nsi\/maxence\/wp-content\/uploads\/sites\/15\/2022\/01\/image-26-300x295.png 300w, http:\/\/yb-isn.fr\/2021\/nsi\/maxence\/wp-content\/uploads\/sites\/15\/2022\/01\/image-26-768x755.png 768w\" sizes=\"(max-width: 157px) 100vw, 157px\" \/><\/figure>\n\n\n\n<p>Comme on peut le voir ci-dessus, on a un exemple d&rsquo;un algorithme, exprim\u00e9 ici pour d\u00e9coup\u00e9 un polygone quelconque en triangles.<\/p>\n\n\n\n<p>C&rsquo;est bien beau tout \u00e7a, alors comment un algorithme est cod\u00e9 ?<\/p>\n\n\n\n<h2 class=\"has-vivid-red-color has-text-color\">II)Diff\u00e9rents Tri<\/h2>\n\n\n\n<p class=\"has-medium-font-size\">a)Tri par insertion<\/p>\n\n\n\n<p>On peut en d\u00e9duire ci-dessous, un algorithme permettant de faire un tri par insertions :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>VARIABLE\nt : tableau d'entiers\ni : nombre entier\nj : nombre entier\nk : nombre entier\nDEBUT\nj\u21902\ntant que j&lt;=longueur(t):   \/\/boucle 1\n  i\u2190j-1\n  k\u2190t&#091;j]\n  tant que i&gt;0 et que t&#091;i]&gt;k:   \/\/boucle 2\n    t&#091;i+1]\u2190t&#091;i]\n    i\u2190i-1\n  fin tant que\n  t&#091;i+1]\u2190k\n  j\u2190j+1\nfin tant que\nFIN<\/code><\/pre>\n\n\n\n<p>Voici un code repr\u00e9sentant un tri par insertion, code que l&rsquo;on utilise pour m\u00e9langer essentiellement des cartes \u00e0 jouer malgr\u00e9 la lenteur de ce code il reste le plus efficace compar\u00e9 au tri rapide.<\/p>\n\n\n\n<p>Si on veut trier un paquet de cartes sous forme d&rsquo;un codage, ici python on reproduit le code ci-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=\"\">def 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<\/pre>\n\n\n\n<p>Tout d&rsquo;abord, on d\u00e9finit la fonction \u00ab\u00a0tri insertion\u00a0\u00bb(tableau), on lui demande de chercher pour i dans un entier 1 et la longueur du tableau, apr\u00e8s cela les \u00e9l\u00e9ments du tableau vont se d\u00e9caler pour trouver leurs place en analysant chacun des \u00e9l\u00e9ments initialement pr\u00e9sents. Enfin, une fois l&rsquo;analyse termin\u00e9 en ayant trouv\u00e9 le bon \u00e9l\u00e9ment a remplac\u00e9, l&rsquo;\u00e9l\u00e9ment en mouvement prendra la place de l&rsquo;intru se situant dans le mauvaise emplacement.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" src=\"http:\/\/yb-isn.fr\/2021\/nsi\/maxence\/wp-content\/uploads\/sites\/15\/2022\/01\/image-28.png\" alt=\"\" class=\"wp-image-154\" width=\"443\" height=\"100\" srcset=\"http:\/\/yb-isn.fr\/2021\/nsi\/maxence\/wp-content\/uploads\/sites\/15\/2022\/01\/image-28.png 775w, http:\/\/yb-isn.fr\/2021\/nsi\/maxence\/wp-content\/uploads\/sites\/15\/2022\/01\/image-28-300x68.png 300w, http:\/\/yb-isn.fr\/2021\/nsi\/maxence\/wp-content\/uploads\/sites\/15\/2022\/01\/image-28-768x173.png 768w\" sizes=\"(max-width: 443px) 100vw, 443px\" \/><\/figure>\n\n\n\n<p>Une fois le tri termin\u00e9 avec chacun des \u00e9l\u00e9ments pr\u00e9sent, on aura un jeu de carte parfaitement tri\u00e9 :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" src=\"http:\/\/yb-isn.fr\/2021\/nsi\/maxence\/wp-content\/uploads\/sites\/15\/2022\/01\/image-29.png\" alt=\"\" class=\"wp-image-155\" width=\"442\" height=\"95\" srcset=\"http:\/\/yb-isn.fr\/2021\/nsi\/maxence\/wp-content\/uploads\/sites\/15\/2022\/01\/image-29.png 782w, http:\/\/yb-isn.fr\/2021\/nsi\/maxence\/wp-content\/uploads\/sites\/15\/2022\/01\/image-29-300x64.png 300w, http:\/\/yb-isn.fr\/2021\/nsi\/maxence\/wp-content\/uploads\/sites\/15\/2022\/01\/image-29-768x165.png 768w\" sizes=\"(max-width: 442px) 100vw, 442px\" \/><\/figure>\n\n\n\n<p class=\"has-medium-font-size\">b)Tri par s\u00e9lection <\/p>\n\n\n\n<p>On utilise le tri par s\u00e9lection pour aller chercher le plus petit \u00e9l\u00e9ment du vecteur pour le placer en premier , pour ensuite repartir du second \u00e9l\u00e9ment et aller chercher le plus petit \u00e9l\u00e9ment et ainsi de suite.<\/p>\n\n\n\n<p>Ainsi on veut Tri\u00e9 ce jeu de carte :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" src=\"http:\/\/yb-isn.fr\/2021\/nsi\/maxence\/wp-content\/uploads\/sites\/15\/2022\/01\/image-30.png\" alt=\"\" class=\"wp-image-156\" width=\"438\" height=\"98\" srcset=\"http:\/\/yb-isn.fr\/2021\/nsi\/maxence\/wp-content\/uploads\/sites\/15\/2022\/01\/image-30.png 781w, http:\/\/yb-isn.fr\/2021\/nsi\/maxence\/wp-content\/uploads\/sites\/15\/2022\/01\/image-30-300x68.png 300w, http:\/\/yb-isn.fr\/2021\/nsi\/maxence\/wp-content\/uploads\/sites\/15\/2022\/01\/image-30-768x174.png 768w\" sizes=\"(max-width: 438px) 100vw, 438px\" \/><\/figure>\n\n\n\n<p>On va donc coder un algorithme, permettant de r\u00e9aliser notre but :<\/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=\"\">def 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<\/pre>\n\n\n\n<p>Ainsi, on cherche dans dans le tableau diff\u00e9rentes valeurs, recherche effectu\u00e9 lors du d\u00e9marrage du programme, voil\u00e0 pourquoi on utilise \u00ab\u00a0en_cours\u00a0\u00bb dans les lignes de codes.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I)Introduction a)D\u00e9finition : Un algorithme est une suite d&rsquo;op\u00e9rations que l&rsquo;on met en place pour r\u00e9soudre un probl\u00e8me ou bien une classe de probl\u00e8mes, il est ainsi pr\u00e9sent dans le domaine de l&rsquo;algorithmique. Il est utilis\u00e9 pour r\u00e9soudre chaque probl\u00e8me lui faisant face, en revanche un algorithme sera plus efficace si il est utilis\u00e9 sur [&hellip;]<\/p>\n","protected":false},"author":13,"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\/maxence\/wp-json\/wp\/v2\/posts\/151"}],"collection":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/maxence\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/maxence\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/maxence\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/maxence\/wp-json\/wp\/v2\/comments?post=151"}],"version-history":[{"count":1,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/maxence\/wp-json\/wp\/v2\/posts\/151\/revisions"}],"predecessor-version":[{"id":157,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/maxence\/wp-json\/wp\/v2\/posts\/151\/revisions\/157"}],"wp:attachment":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/maxence\/wp-json\/wp\/v2\/media?parent=151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/maxence\/wp-json\/wp\/v2\/categories?post=151"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/maxence\/wp-json\/wp\/v2\/tags?post=151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}