Bonjour j'aurais besoin d'aide je doit le rendre
On choisit un nombre entier plus grand que zéro; s'il est pair, on le divise par 2:s^ prime il est impair, on le multiplie par 3 et on ajoute 1. En répétant l'opération, on obtient une suite d'entiers positifs dont chacun ne dépend que de son prédécesseur.
Exemple 1. En partant de 1 on a successivement 1→4→ 2 -> 1 -> 4 -> 2 -> 1 \rightarrow On constate que la suite des nombres obtenus se répète (c'est un cycle de longueur 3).
Exemple 2. On part ici de 3. On a alors
3 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1 , et ce n'est pas la peine de continuer, puisque ayant obtenu 1, on sait que l'on va retomber indéfiniment dans le cycle 1 → 4 -> 2 -> 1 de l'exemple 1.
On dit que le vol de 3 est la liste 3, 10, 5, 16, 8, 4, 2, 1.
Les mathématiciens ont toutes les raisons de penser que quel que soit le nombre initial choisi, on retombe toujours sur 1, mais aucun n'a réussi à prouver ce résultat jusqu'à présent.
On appelle durée de vol la longueur du vol d'un entier et hauteur de vol la plus grande valeur rencontrée dans le vol. Ainsi la durée de vol de 3 est 8 et sa hauteur de vol est 16.
1. Calculer à la main le vol de l'entier 13. Quelle est sa durée de vol? Et sa hauteur de vol? 2. Compléter en l'algorithme suivant qui permet d'afficher
les valeurs du vol d'un entier n.
Tant que n Si
Sinon faire
Afficher
Fin Si Fin Tant que
3. Pour un entier n, que renvoie n%2 en Python ? Et n//2? Programmer l'algorithme précédent en Python.
4. Modifier l'algorithme précédent pour qu'il calcule la durée de vol et la hauteur de vol de n.
5. Compléter la fonction vol(n) suivante qui calcule le vol d'un entier sous forme d'une liste.
def vol(n):
V=
while
if n%2==0:
n=
else
n= V=V+
return V
On obtiendra par exemple:
>>> vol(3)
[3, 10, 5, 16, 8, 4, 2, 1]
6. Programmer les fonctions duree(n) et hauteur(n). Exemple d'appel :
>>> duree (3)
8
>>> hauteur (3)
16
7. Déterminer l'entier inférieur à 1000 ayant la plus grande hauteur, puis celui ayant le plus long vol.
8. Déterminer le plus petit entier ayant une durée de vol supérieure ou égale à 200. Quelle est sa durée de vol ?
Merci d'avance
montre moi ce que tu as répondu aux deux premières questions.
la suite en dépend.. Je t'aiderai ensuite.
NB : pour la question 3, "Pour un entier n, que renvoie n%2 en Python ? Et n//2?" qu'as tu répondu ?
J'y arrive pas du tout a ce chapitre si vous pouvez vraiment m'aider
Je les a rendre pour demain.
Je suis vraiment désolée de vous déranger
je ne suis pas disponible pour l'instant. Dommage que tu n'aies pas répondu tout à l'heure.
Si personne ne vient t'aider, je reviens dans une bonne heure.
Pour la question 1 :
qu'est ce qui te gêne ? Il n'y a pas de difficulté à écrire la liste des nombres à partir de 13..
ne te contente pas de dire que tu es bloqué, lance toi, poste tes essais.
Désolée de pas avoir répondu j'ai de nombreux examens.
J'essaierai et je vous enverrai pour voir si j'ai bien juste.
Merci
Je suis vraiment désolée j'ai essayer de me connecter mais ça ne voulais pas.
Pour la première j'ai trouvé 40 la durée et 3et 8 Et la hauteur est 16
ta réponse n'est pas claire..
Q1 : calculer le vol en partant de 13
montre la liste des nombres qui composent ce vol.
Parce que au début de l'énoncé on nous dit que si il est impair, on le multiplie par 3 et on ajoute 1.
oui,
13 40 et ensuite ?
13 40 20 10 ..... continue jusqu'à retrouver 1.
C'est seulement ensuite que tu pourras donner la durée et la hauteur de ce vol.
faudra faire d'abord correctement la question 1, avant de s'intéresser à la 2.
insonn0, je ne vais pas te donner des pistes si tu ne me montres pas ce que tu fais. Tu demandes de l'aide, je vais t'en donner dans le cadre d'un échange, mais là, tu ne donnes rien.
Alors montre moi ce que tu as répondu à la question 1, on fera les autres ensuite.
Ok je suis désolée mais vu que j'ai vraiment besoin d'aide pour ce dm j'ai peur que vous m'aidiez pas après
je vais t'aider, mais encore une fois, là, tu te contentes de parler, tu ne me réponds pas.
Montre moi ce que tu écris pour répondre à la question 1.
Je t'ai montré comment faire, je t'ai donné le début.
13 40 20 10 ..... continue jusqu'à retrouver 1.
à toi
13 40 20 10 5 16 8 4 2 1
la durée, c'est le nombre d'éléments ici durée = ?
la hauteur, c'est la valeur la plus grande , ici hauteur = ?
Tant que n
Si
n= 40
Sinon faire
n=10
Afficher
Fin Si
Fin Tant que
Je pense que c'est ça mais je sais pas quoi mettre après
ok, tu as donc répondu à la Q1.
on peut passer à la 2 : Compléter en l'algorithme suivant qui permet d'afficher les valeurs du vol d'un entier n.
Tant que n ................
Si .............. faire
.............
Sinon faire ..............
Afficher
Fin Si
Fin Tant que
j'ai remis les lignes un peu plus correctement.
on va d'abord remplir les pointillés sur les lignes bleues.
pour calculer 40 à partir de 13, tu as bien d'abord regardé si 13 est pair ou impair, n'est ce pas ?
donc on va écrire
Si n pair faire
.......... (là tu mets le calcul quand n est pair)
sinon faire
........... (là tu écris le calcul quand n est impair)
vas y
pas du tout.
Tu ne lis pas mon message ?
quand n est pair, qu'est ce que tu fais ? (c'est écrit dans l'énoncé !).
c'est mieux !
je rectifie en rouge et je complète en bleu:
Tant que n > 1 (là, on dit qu'on s'arrête quand on trouve 1)
Si
n= n/2
Sinon faire
n=n*3+1
Afficher n (et là, on affiche le n qu'on vient de calculer)
Fin Si
Fin Tant que
Tant que n > 1 (là, on dit qu'on s'arrête quand on trouve 1)
Si n est pair ça manquait !
n= n/2
Sinon faire
n=n*3+1
Afficher n (et là, on affiche le n qu'on vient de calculer)
Fin Si
Fin Tant que
"Pour un entier n, que renvoie n%2 en Python ?"
il faut répondre à cette question.. regarde ton cours python.
les exos ont toujours à voir...
internet te dirait que n%2 donne le reste de la division de n par 2
(quand n est pair, n%2 est egal à 0)
et n//2 donne l'entier résultat de la division de n par 2.
il faut à présent programmer l'algo en python.
vas y, montre moi ce que tu fais.
Si, je peux t'aider, mais encore une fois, montre ce que tu fais.
T'aider, ça ne veut pas dire "faire à ta place", c'est te guider et corriger ce que tu écris.
tu as un algo, il faut le traduire en python.
l'algo commence par
"tant que n > 1 " : comment tu traduis cette phrase en python ?
l'algo, c'est celui là :
Tant que n > 1
Si n est pair
n= n/2
Sinon faire
n=n*3+1
Afficher n
Fin Si
Fin Tant que
il faut le traduire en utilisant la syntaxe de python
Tant que n > 1
Si n est pair
n= n/2
Sinon faire
n=n*3+1
Afficher n
Fin Si
Fin Tant que
ok, le tant que n > 1 se traduit par while n>1 : (avec : à la fin)
ensuite
Si n est pair comment tu le traduis ?
et le sinon ?
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :