{"id":837,"date":"2019-10-01T09:48:34","date_gmt":"2019-10-01T07:48:34","guid":{"rendered":"http:\/\/labodemaths.fr\/WordPress3\/?p=837"},"modified":"2020-09-09T19:30:40","modified_gmt":"2020-09-09T17:30:40","slug":"nsi-tp4-suite-de-la-conjecture-de-syracuse-et-decouverte-des-tuples","status":"publish","type":"post","link":"https:\/\/labodemaths.fr\/WordPress3\/nsi-tp4-suite-de-la-conjecture-de-syracuse-et-decouverte-des-tuples\/","title":{"rendered":"NSI : TP4, suite de la conjecture de Syracuse et d\u00e9couverte des tuples."},"content":{"rendered":"\n<div class=\"wp-block-file\"><a href=\"https:\/\/labodemaths.fr\/WordPress3\/wp-content\/uploads\/2019\/10\/NSI_TP4_les_tuples.pdf\">NSI_TP4_les_tuples<\/a><a href=\"https:\/\/labodemaths.fr\/WordPress3\/wp-content\/uploads\/2019\/10\/NSI_TP4_les_tuples.pdf\" class=\"wp-block-file__button\" download>T\u00e9l\u00e9charger<\/a><\/div>\n\n\n\n<p>La fonction python vol que l&rsquo;on peut copier-coller.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>def vol(n):\n    retour=str(n) # description du vol\n    hauteur=n # hauteur max du vol fix\u00e9e \u00e0 n au d\u00e9part\n    long=1 # longueur du vol\n    boucle=True # variable bool\u00e9enne pour d\u00e9terminer quand on met fin \u00e0 l'algorithme\n    nb=n # variable locale qui prend la valeur n de d\u00e9part pour \u00e9viter des effets de bords\n    while boucle:\n        if nb>hauteur : # on v\u00e9rifie si le nombre d\u00e9passe la hauteur\n            hauteur=nb # si oui, on modifie la hauteur\n        long+=1 # on ajoute 1 \u00e9tape, donc 1 \u00e0 la longueur du vol\n        if nb%2==0: # on applique l'algorihtme de syracuse\n            nb=nb\/\/2\n        else :\n            nb=nb*3+1\n        retour+=\",\"+str(nb) # on ajoute la valeur au vol\n        if nb==1 : # on s'arr\u00eate lorsque nb==1\n            boucle=False\n    return retour,long,hauteur # on retourne les 3 valeurs attendues<\/code><\/pre>\n\n\n\n<p>La fonction vol \u00e0 compl\u00e9ter en utilisant la notion de tuples.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>def vol(n):\n    retour=(n,) # description du vol, retour est un tuple\n    boucle=True # variable bool\u00e9enne pour d\u00e9terminer quand on met fin \u00e0 l'algorihtme\n    nb=n # variable locale qui prend la valeur n de d\u00e9part pour \u00e9viter des effets de bords\n    while boucle:\n        if nb%2==0: # on applique l'algorihtme de syracuse\n            nb=nb\/\/2\n        else :\n            nb=nb*3+1\n        ....\n        if nb==1 : # on s'arr\u00eate lorsque nb==1\n            boucle=False\n    return retour, ... , ... # on retourne les 3 valeurs attendues <\/code><\/pre>\n\n\n\n<p>Pour en savoir plus sur la conjecture de Collatz :<br><a rel=\"noreferrer noopener\" aria-label=\" (s\u2019ouvre dans un nouvel onglet)\" href=\"https:\/\/fr.m.wikipedia.org\/wiki\/Conjecture_de_Syracuse\" target=\"_blank\">https:\/\/fr.m.wikipedia.org\/wiki\/Conjecture_de_Syracuse<\/a><\/p>\n\n\n\n<p>Correction finale du tp avec trac\u00e9s de diff\u00e9rentes courbes<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import numpy as np # importe la biblioth\u00e8que numpy\nimport matplotlib.pyplot as plt # importe la biblioth\u00e9que matplotlib pour le trac\u00e9 des courbes\n\ndef vol(n):\n    retour=(n,) # description du vol comme un tuple\n    boucle=True # variable bool\u00e9enne pour d\u00e9terminer quand on met fin \u00e0 l'algorithme\n    nb=n # variable locale qui prend la valeur n de d\u00e9part pour \u00e9viter des effets de bords\n    while boucle:\n        if nb%2==0: # on applique l'algorihtme de syracuse\n            nb=nb\/\/2\n        else :\n            nb=nb*3+1\n        retour+=(nb,) # on ajoute la valeur au vol\n        if nb==1 : # on s'arr\u00eate lorsque nb==1\n            boucle=False\n    return retour,len(retour),max(retour) # on retourne les 3 valeurs attendues\n\ndef hauteur_max(n):\n    ''' D\u00e9termine quel est l'entier compris entre 1 et n\n    qui a le vol le plus haut\n    return : k, hauteur du vol de k ( tuple)\n    '''\n    haut_max=0\n    k=1\n    for i in range(1,n+1):\n        if vol(i)[2]>haut_max:\n            haut_max=vol(i)[2]\n            k=i\n    return k,haut_max\n\ndef longueur_max(n):\n    ''' D\u00e9termine quel est l'entier compris entre 1 et n\n    qui a le vol le plus haut\n    return : k, hauteur du vol de k ( tuple)\n    '''\n    long_max=0\n    k=1\n    for i in range(1,n+1):\n        if vol(i)[1]>long_max:\n            long_max=vol(i)[1]\n            k=i\n    return k,long_max\n\ndef tracer_courbe_vol(n):\n    ''' trace le vol du nombre n\n    return : graphique\n    '''\n    vol_n=vol(n)[0]\n    print(vol_n)\n    x=[]\n    y=[]\n    for i in range(len(vol_n)):\n        x.append(i)\n        y.append(vol_n[i])\n    plt.plot(x, y)\n    plt.show() # affiche la figure a l'ecran\n\ndef tracer_courbe_hauteur_vol(n):\n    '''\n    trace la courbe (k,hauteur du vol de k)\n    pour k compris entre 1 et n\n    return : graphique\n    '''\n    x=[]\n    y=[]\n    for i in range(1,n+1):\n        x.append(i)\n        y.append(vol(i)[2])\n    plt.plot(x, y)\n    plt.show() # affiche la figure a l'ecran\n\ndef tracer_courbe_longueur_vol(n):\n    '''\n    trace la courbe (k,longueur du vol de k)\n    pour k compris entre 1 et n\n    return : graphique\n    '''\n    x=[]\n    y=[]\n    for i in range(1,n+1):\n        x.append(i)\n        y.append(vol(i)[1])\n    plt.plot(x, y)\n    plt.show() # affiche la figure a l'ecran<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>La fonction python vol que l&rsquo;on peut copier-coller. La fonction vol \u00e0 compl\u00e9ter en utilisant&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/labodemaths.fr\/WordPress3\/nsi-tp4-suite-de-la-conjecture-de-syracuse-et-decouverte-des-tuples\/\">Read the post<span class=\"screen-reader-text\">NSI : TP4, suite de la conjecture de Syracuse et d\u00e9couverte des tuples.<\/span><\/a><\/div>\n","protected":false},"author":2,"featured_media":839,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/posts\/837"}],"collection":[{"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/comments?post=837"}],"version-history":[{"count":6,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/posts\/837\/revisions"}],"predecessor-version":[{"id":863,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/posts\/837\/revisions\/863"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/media\/839"}],"wp:attachment":[{"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/media?parent=837"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/categories?post=837"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/tags?post=837"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}