Tester un algorithme et trouver la valeur qu'il affiche


  • B

    Bonsoir à tous et merci à ceux qui m'aideront pour cet exercice surtout pour le petit c) :
    Variable
    U : nombre
    Début
    Afficher U
    Tant que U≠1:
    Si U est pair
    U prend la valeur la valeur U/2
    Sinon
    U prend la valeur (3U+1)/2
    Fin si
    Afficher U
    Fin tant que
    Fin
    a) Que représente U ? : U est la variable qui stocke les termes de la suite ?
    b) Tester l'algorithme pour U = 10 puis pour U =21 : pour U=10 on a 5 et pour U=21 on a 32
    c) Trouver un entier U tel que que l'algo affiche exactement 5 nombres ( pas fait)


  • mtschoon

    Bonjour,

    Dans l'algorithme proposé, il manque une indication.

    Citation
    Début
    Afficher U

    On ne peut pas afficher une valeur qui n'a pas été donnée !

    Il aurait dû être écrit

    Début
    Saisir U
    Afficher U

    Cet algorithme affiche les termes qui "ressemblent" à ceux de la suite dite de "Syracuse"

    Tu peut trouver de nombreux sites portant sur ce sujet sur le web

    Je ne sais pas ce que tu as compris...mais pour le b) ta réponse est bizarre (32 pour U=21 ? ).
    Je te conseille de revoir ta méthode.

    En prenant ton énoncé écrit :

    Pour U=10, l'algorithme écrit affiche les 5 premiers termes de la suite
    10 , 5 , 8 , 2 , 1

    Pour U=21, l'algorithme écrit affiche les 7 premiers termes de la suite
    21 , 32 , 16 , 8 , 4 , 2 , 1

    Revois ta méthode et tiens nous au courant si besoin.


  • B

    Comment faite vous cela ? Non je ne comprend pas trop
    Comment avez-vous trouvez les 7 premiers termes de la suite
    En faite c'est un DM, et nous n'avons jamais vu "Syracuse"


  • mtschoon

    Tu n'as rien à savoir de particulier.

    Une question avant de te détailler l'explication.

    Lorsque u n'est pas pair (donc il est impair) tu as écrit

    U prend la valeur (3U+1)/2

    Es-tu sûr(e) de cela?
    Traditionnellement , avec la suite dite de Syracuse, il s'agit de3U+1

    Merci de vérifier ton énoncé pour être sûr(e) qu'il est exact (mais...peut-être qu'il est exact...)


  • mtschoon

    En prenant exactement l'énoncé que tu as écrit :

    Je te fait les calculs pour U=10

    U=10 nombre pair ---> U=10/2=5

    U=5 nombre impair ---> U=(3x5+1)/2=16/2=8

    U=8 nombre pair ---> U=8/2=4

    U=4 nombre pair ---> U=4/2=2

    U=2 nombre pair ---> U=2/2=1

    *C'est la même démarche pour U=21 *

    Evidemment, s'il y a une confusion dans ton énoncé, il faudra revoir les calculs.


  • B

    Ah ok merci j'ai compris, donc du coup on a déjà l'entier qui affiche exactement 5 nombres c'est 10 ?


  • B

    Et oui je suis sur de cela pour 3U+1\2


  • B

    Sinon j'ai trouvé que pour U=5 on a aussi 5 nombres qui sont 4,8,4,2,1
    es-ce correct pour le c) ?


  • mtschoon

    Oui c'est bon, si tu est sûr(e) de ce (3U+1)/2 .

    Pour U=10 il y a 5 chiffres affichés , pour U=5 aussi.

    Remarque : c'est tout de même bizarre qu'une réponse pour la c) ait été vue dans la b). C'est bien simple...et la c) n'a plus aucun interêt...
    J'ai toujours un doute sur ton énoncé, mais vu que vu tu es sûr(e)...

    L'essentiel, c'est que tu aies compris la principe.


  • B

    Oui j'ai recopié l'énoncé mot pour mot. Merci beaucoup à bientôt


  • mtschoon

    De rien (et j'espère que ton professeur n' a pas fait une faute de frappe en écrivant l'énoncé)


Se connecter pour répondre