Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » Conjecture de Syracuse
Sniikox Hors ligne Membre Points: 8 Défis: 0 Message

Conjecture de Syracuse

Posté le 10/04/2016 13:55

Bonjour à tous ! En classe de seconde au lycée, j'ai à rendre un DM en programmation pour la rentrée.
Le principe quelque mot, demander un nombre entre 1 et 10 à l'utilisateur, si le nombre et pair e diviser par 2, si il est impair le multiplié par 3 et ajouté 1. Recommencez ce principe 10 fois de suite

J'ai déjà fais le plus gros du travail mais je ne trouve pas comment répéter 10 fois de suite. J'ai testé :
"A"?→A
A/2→Z
If Frac Z supérieur à 0
Then A*3+1
Else A/2
A◢

Jusque la pas de problème mais je bug avec l'ajout du For To et Next...
Merci d'avance à tous !


Kirafi Hors ligne Membre Points: 2180 Défis: 10 Message

Citer : Posté le 10/04/2016 14:46 | #


Bonjour Sniikox, je te suggère d'utiliser la balise "code" pour nous montrer ton code, c'est plus propre (comme ci-dessous).
"A"?→A
[b]For 1→B to 10[/b]
A/2→Z
If Frac Z > 0
Then A*3+1
Else A/2
A◢
[b]Next[/b]

En gros le code entre le For/Next sera répété tant que B ne sera pas égal à 10, et le For l'incrémente automatiquement de 1 à chaque boucle .
Donc ça répétera l’opération 10x .
Bon après il y a clairement moyen d'optimiser, mais je te laisse faire comme bon te semble .

PS : Essaye de pas faire trop de fautes stp .
iPod
Pour des parties rapides
Jusqu'où pourras-tu aller dans ce jeu "partie rapide" qu'est Dextris (élu Jeu Du Mois)
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
Autres
Franchement ils valent le coups
Deviens l'amiral de la marine dans SeaRush (jeu concours) (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Sniikox Hors ligne Membre Points: 8 Défis: 0 Message

Citer : Posté le 10/04/2016 15:00 | #


Ok merci Kirafi.
Je comprends l'utilisation du For/Next mais la calculatrice m'affiche Erreur Syntaxe, peut-être que je ne les ai pas bien placés.
Kirafi Hors ligne Membre Points: 2180 Défis: 10 Message

Citer : Posté le 10/04/2016 15:15 | #


A quelle ligne elle te renvois ?
iPod
Pour des parties rapides
Jusqu'où pourras-tu aller dans ce jeu "partie rapide" qu'est Dextris (élu Jeu Du Mois)
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
Autres
Franchement ils valent le coups
Deviens l'amiral de la marine dans SeaRush (jeu concours) (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Sniikox Hors ligne Membre Points: 8 Défis: 0 Message

Citer : Posté le 10/04/2016 15:24 | #


Juste après le Next
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 10/04/2016 15:33 | #


Oui, il manque un IfEnd

"A"?→A
For 1→B to 10
A/2→Z
If Frac Z > 0
Then A*3+1
Else A/2
[b]IfEnd[/b] // On pense bien à fermer la condition
A◢
Next

Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Sniikox Hors ligne Membre Points: 8 Défis: 0 Message

Citer : Posté le 10/04/2016 15:44 | #


La répétition fonctionne mais il m'affiche 5,5,5,5,5,5,5,5...

Comment faire pour qu'il reprenne le dernier A, en l’occurrence si l'on choisi 5, 16 ? Puis cela donnerai 8 ect...
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 10/04/2016 15:48 | #


Je me rend compte que le code est pas correct du tout ><
Voici le bon, expliqué :

"A"?→A
For 1→B to 10
A÷2→Z
If Frac Z ≠ 0
Then A×3+1[b]→A [/b]// On met A×3 dans A
Else A÷2[b]→A[/b] // On met A÷2 dans A
IfEnd // On pense bien à fermer la condition
A◢ // On affiche le A final
Next

Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Sniikox Hors ligne Membre Points: 8 Défis: 0 Message

Citer : Posté le 10/04/2016 15:56 | #


Peux-tu m'expliquer ce que veut dire la double flèche ?
Et si c'est impair on fait x*3+1, tu t'es trompé non ?

Ajouté le 10/04/2016 à 15:59 :
J'ai corrigé tout seul, c'était :

Then A⇒A*3+1→A
Kirafi Hors ligne Membre Points: 2180 Défis: 10 Message

Citer : Posté le 10/04/2016 16:12 | #


La double flèche c'est une condition If, mais plus condensé, en gros la le programme regarde si A existe, soit si A est plus grand que 0, et dans ce cas, il effectue l'opération derrière la double flèche .

Condition ⇒ Truc à faire si la condition est vrai

Mais tu ne peux pas mettre plus d'une instruction derrière la double flèche .
C'est pour simplifier les petites conditions si tu veux .
iPod
Pour des parties rapides
Jusqu'où pourras-tu aller dans ce jeu "partie rapide" qu'est Dextris (élu Jeu Du Mois)
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
Autres
Franchement ils valent le coups
Deviens l'amiral de la marine dans SeaRush (jeu concours) (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Sniikox Hors ligne Membre Points: 8 Défis: 0 Message

Citer : Posté le 10/04/2016 16:18 | #


Je te remercie tu m'as bien aidé !
La double flèche n'est donc pas obligatoire ? Je peux mettre :
Then A*3+1→A


Si je comprends bien mon erreur était de ne pas dire à la calculatrice que après avoir effectué une des deux opérations, le résultat devenait A, d'où la présence du →A après les deux opérations ?
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 10/04/2016 16:46 | #


Heu, la double flèche de mon code est une erreur, faut mettre × à la place

Ajouté le 10/04/2016 à 16:46 :
Si je comprends bien mon erreur était de ne pas dire à la calculatrice que après avoir effectué une des deux opérations, le résultat devenait A, d'où la présence du →A après les deux opérations ?

Et oui, c'est ça
Finir est souvent bien plus difficile que commencer. — Jack Beauregard

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 140 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd