Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

Conjecture de Syracuse sur Algobox

Posté par
DonaldCobain
08-05-12 à 13:52

Bonjour, voici l'énoncé de l'exercice :

Affecter la valeur 1 à N
Choisir un entier U strictement positif
Afficher N
Afficher U
TANT QUE U>1 :
- si ce nombre est pair, le diviser par 2
- si ce nombre est impair, prendre le triple et ajouter 1
Fin du SI
Augmenter N de 1
Afficher N
Afficher U
Fin de TANT QUE

voici l'algorithme que j'ai réalisé sur algobox  

mais quand je lance l'algorithme sa ne marche pas ! Aider moi svp je suis en train de peter les plombs

Conjecture de Syracuse sur Algobox

Posté par
Glapion Moderateur
re : Conjecture de Syracuse sur Algobox 08-05-12 à 14:01

Bonjour, quand tu écris U prend la valeur floor(U), U n'a jamais été défini avant donc ça génère une erreur. Il te manque un Lire U
Sinon, oui c'est ça.
je l'avais écris il n'y a pas longtemps dans un autre topic, voilà ma version (que tu peux copier/coller en mode d'édition "éditeur de texte" si tu veux)

VARIABLES
U EST_DU_TYPE NOMBRE
N EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
LIRE U
N PREND_LA_VALEUR 0
TANT_QUE (U != 1) FAIRE
DEBUT_TANT_QUE
SI (round(U/2)==U/2) ALORS
DEBUT_SI
U PREND_LA_VALEUR U/2
FIN_SI
SINON
DEBUT_SINON
U PREND_LA_VALEUR 3*U+1
FIN_SINON
N PREND_LA_VALEUR N+1
FIN_TANT_QUE
AFFICHER N
FIN_ALGORITHME

Posté par
DonaldCobain
re : Conjecture de Syracuse sur Algobox 08-05-12 à 14:15

merci beaucoup, effectivement j'ai fais des erreurs bêtes, je vais tester avec ta version . Bonne journée

Posté par
DonaldCobain
re : Conjecture de Syracuse sur Algobox 08-05-12 à 15:13

j'ai corrigé mon algorithme et j'ai rentré le tien aussi, mais pour les 2 je crois que c'est faux :

Quand je rentre pour U=5 en résultat ça me met 5
quand je rentre 16 ça me met 4

Est ce que c'est juste ? Et j'ai pas compris l'utilité de cet algorithme et à quoi sert N dans tout ça! Aidez moi svp , depuis hier soir que je suis sur ce truc --'  

Posté par
Glapion Moderateur
re : Conjecture de Syracuse sur Algobox 08-05-12 à 15:18

Oui c'est juste. Il se trouve que si U0=5 la suite en question arrive sur 1 au bout de 5 itérations et que si U0=16, elle arrive sur 1 au bout de 4 itérations.

L'hypothèse de Syracuse est que quelque soit le nombre de départ que l'on donne, on finit toujours par arriver sur 1 au bout d'un nombre fini d'itérations. Le but de cet algorithme est de donner au bout de combien d'itérations on arrive effectivement sur 1. C'est ça le N, c'est le nombre d'itérations qu'il faut pour arriver sur 1.

Posté par
DonaldCobain
re : Conjecture de Syracuse sur Algobox 08-05-12 à 15:41

nan mais parce ils me demandent après de vérifier que pour U = 5, on obtient successivement :

N  1  2  3  4  5  6
U  5  16 8  4  2  1

Posté par
Glapion Moderateur
re : Conjecture de Syracuse sur Algobox 08-05-12 à 15:52

Oui et bien vérifie.
Tu peux même adapter un peu l'algorithme pour qu'il t'affiche directement le tableau :
VARIABLES
U EST_DU_TYPE NOMBRE
N EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
LIRE U
N PREND_LA_VALEUR 1
AFFICHER N
AFFICHER " --> "
AFFICHER* U
TANT_QUE (U != 1) FAIRE
DEBUT_TANT_QUE
SI (round(U/2)==U/2) ALORS
DEBUT_SI
U PREND_LA_VALEUR U/2
FIN_SI
SINON
DEBUT_SINON
U PREND_LA_VALEUR 3*U+1
FIN_SINON
N PREND_LA_VALEUR N+1
AFFICHER N
AFFICHER " --> "
AFFICHER* U
FIN_TANT_QUE
FIN_ALGORITHME

***Algorithme lancé***
1 --> 5
2 --> 16
3 --> 8
4 --> 4
5 --> 2
6 --> 1

***Algorithme terminé***

Posté par
DonaldCobain
re : Conjecture de Syracuse sur Algobox 08-05-12 à 20:41

c'est quoi les étoiles à coté de certains AFFICHER ?

Posté par
Glapion Moderateur
re : Conjecture de Syracuse sur Algobox 08-05-12 à 22:35

Si tu mets AFFICHER* ça crée un retour à la ligne après. Si tu mets AFFICHER tout court, ça reste sur la même ligne.



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1707 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !