Aller au contenu

Messages recommandés

Posté(e) (modifié)

Bonsoir à tous,

J'ai cet exercice à faire (voir pj)

Je suis un peu perdue.

Pour la 1a) j'ai essayé de calculer les premiers termes, je trouve

𝑢0 = 1

 𝑢1= 1/2

 𝑢2= 5/2

 

ATTENTION : Document de 3 pages. Ne pas s'arrêter en bas de la première.

tp 7 act 2.odtAller chercher des informations…

Modifié par Denis CAMUS
Avertissement
  • Réponses 107
  • Created
  • Dernière réponse
  • E-Bahut
Posté(e)

Bonsoir,

Juste un petit coup de pouce car je ne resterai pas connecté:

uo=1 est impair !

donc u1=3*uo+1=4

u1 est pair donc u2=u1/2=2

u2 est pair donc u3=u2/2=1

u3 est impair

donc u4=3*u3+1=4

etc...

et c'est reparti comme en 40 !

Posté(e)


1a) 𝑢0 = 1 

      𝑢1 (est pair) = 3*1+1= 4

      𝑢2 (est pair) = 4/2 = 2

      𝑢3 (est impair) = 1

      𝑢4 (est pair) = 4

      𝑢5 (est pair ) = 2

 

Nous remarquons que l’on trouve toujours, 1,4,2.

Posté(e)

Vous pouvez regarder la conjecture de Syracuse de ma pièce jointe ?

Donc pour la question 1a) , je trouve :
Nous remarquons que l’on trouve toujours, 1,4,2, 𝑢0 vaut 1 donc le temps de vol est 0 et l'altitude est 4.

  • E-Bahut
Posté(e)

J'avais téléchargé ta pièce jointe mais je n'avais pas vu qu'il y avait plusieurs pages 🕵️‍♂️.

Si tu peux encore éditer (...) ton premier message, tu devrais mettre un avis comme quoi la pièce jointe comporte x pages....🤓

Si j'ai bien compris l'énoncé, ton temps de vol et ton altitude sont... fausses.

Tu devrais toi aussi te déconnecter et aller te reposer.

Tes idées seront plus claires après une bonne nuit de sommeil.

  • E-Bahut
Posté(e)
  Citation

Donc pour la question 1a) , je trouve :
Nous remarquons que l’on trouve toujours, 1,4,2, 𝑢0 vaut 1 donc le temps de vol est 0 et l'altitude est 4.

Expand  

Tu as raison. Désolé 🐭...j'en étais déjà à 1b avec un u0 = 10 !! J'ai bien fait d'être allé dormir....

Posté(e)

Merci

Je vais faire la partie 2

from math import*

def Syracuse(u):
    if u%2==0:
        u=u//2
    else:
        u=3*u+1
    return u

def Liste_Syracuse(u):
    L=[u]
    while u!=1:
        L.append(Syracuse(u))
        u=Syracuse(u)
    return L    

 

Pour la question a; il faut que je remplace quelque chose dans le programme ?

  • E-Bahut
Posté(e)

Juste une remarque : Dans la question 1)b), on ne demande ni l'altitude, ni le temps de vol, la question est "le nombre 1 figure-t-il dans la suite...".

  Le 21/02/2021 à 10:36, Clemmellian a dit :

Pour la question a; il faut que je remplace quelque chose dans le programme ?

Expand  

2)a) Je suppose : La réponse est non, il faut simplement que tu calcules "à la main" les valeurs de Syracuse(6) et Syracuse(7) ou que tu fasses comme expliqué ci-dessous par PAVE.

  • E-Bahut
Posté(e)
  Citation

Pour la question a; il faut que je remplace quelque chose dans le programme ?

Expand  

Toujours le même problème... tu n'as pas encore assimilé comment "fonctionne" une fonction. Surtout ne remplace RIEN dans ton "programme"... 

1) J'ai copié/collé ton script : j'ai demandé l'interprétation de ce script (je lance l'exécution par l'icone triangle vert ou run ou... selon la version de Python utilisée).

    Satisfaction, tout se passe bien ! Bravo pour cette saisie. Pas de message d'erreur (en rouge) donc ton script est....opérationnel.

2) L'outil est prêt mais si tu ne lui donnes pas l'argument (la valeur, le x, l'objet....) dont tu veux obtenir l'image, il ne se passe RIEN.

     Dans un "fil" précédent je t'avais déjà expliqué les 2 possibilités de mettre en action cet outil  (cette fonction) et d'obtenir l'affichage du résultat :

       a) soit dans la console,

       b) soit en créant un mini-programme appelant cette fonction.

Quelle méthode veux tu mettre en œuvre ?

  • E-Bahut
Posté(e)

Non, c'est Syracuse(6) qu'on demande (puis Syracuse(7)), donc c'est print(Syracuse(6)) qu'il faut rajouter. Tu peux même mettre les deux :

print(Syracuse(6),Syracuse(7))

mais, à mon avis, ce que l'auteur veut, c'est que tu comprennes bien ce que fait la fonction Syracuse(u), c'est pourquoi je te suggérais un calcul à la main.

  • E-Bahut
Posté(e)

Si tu veux qu'on teste... pour trouver la cause de ton erreur, fais nous un copié collé !

Tu n'as pas répondu à ma question : console ou éditeur ? apparemment tu es partie sur l'éditeur.

Si tu veux utiliser la console pour tester ta fonction, voici un "infographe" 🤔

image.png.19ba2ec55fd30fbb9d85888f0c078069.png

 

Suite

Ton script contient 2 fonctions. Syracuse(u) et Liste_Syracuse(u). 

Dans les questions 2a, 2b et 2c, on ne s'intéresse qu'à la première de ces fonctions. La deuxième est là mais on ne s'en sert pas pour l'instant (on y viendra à la question 3  suivante...).

  • E-Bahut
Posté(e)
  Le 21/02/2021 à 13:03, Clemmellian a dit :

D'accord donc le print(Syracuse(6)), je le mets après le return u

Expand  

Donc si je comprends bien, tu mets en place un mini-programme pour exécuter ta fonction Syracuse(u).

La réponse est oui "après le return u" mais attention aux problèmes d'indentation.

Passe une ligne (ou deux ?) entre le script des fonctions et la ligne de programme lançant la fonction Syracuse(u).

  • E-Bahut
Posté(e)

Hum !!!

Il y a 5 heures ton script était opérationnel (pas de rouge!!)

Celui-ci, que tu as modifié (pourquoi ??), N'EST PLUS correct !

Jules t'avait dit d'essayer de décrypter les messages d'erreur. Sans être un champion de la langue anglaise, tu dois bien "voir" que c'est ta variable u (en anglais "variable u" 😁) qui chagrine l'interpréteur (logiciel)... Sur ton papier/énoncé  surligne toutes les occurrences (apparitions) de la variable u et VERIFIE que tu les retrouves toutes dans ton dernier script.

suite (lis d'abord ce qui précède)

image.png.42d2589c9486608fbd4bacb8c778e576.png

  • E-Bahut
Posté(e)

Non, c'est u%2 qui donne le reste de la division euclidienne, mais on te demande à quel test correspond u%2==0 !

Tu as compris comment fonctionnait cette fonction Syracuse ?

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.


×
×
  • Créer...
spam filtering
spam filtering