Algorithmique (4) : la conjecture de Syracuse

publicité
Algorithmique (4) : la conjecture de Syracuse
3°) On considère alors la conjecture suivante :
"Si l'on applique l'algorithme précédent à n'importe quel nombre entier naturel, que l'on recommence
avec le résultat obtenu et que l'on répète ensuite cette démarche, on finit toujours par obtenir 1. "
I. Préliminaire 1
On considère l'algorithme suivant traduit dans ALGOBOX :
Tester cette conjecture en partant de différents nombres entiers. Avez-vous trouvé des contre-exemples ?
IV. La structure répétitive "tant que "
Il existe en algorithmique une structure qui permet d'effectuer une série d'instruction tant qu'une condition
n'est pas réalisée. Elle se présente de la manière suivante :
Tant que condition
instructions
Fin Tant que
La fonction floor(x) calcule la partie entière du nombre x.
Nous allons l'utiliser ici pour répéter l'algorithme précédent tant que le résultat n'est pas égal à 1.
1°) Que fait cet algorithme ?
2°) Reproduisez cet algorithme dans ALGOBOX, et testez-le avec différentes valeurs.
3°) Remplacez alors les " haaaa ! " et " hoooo ! " par des messages appropriés.
1°) A l'aide du bouton " Ouvrir " de la barre d'outil ouvrer le fichier Syracuse.alg qui se trouve dans le
dossier " Echange " du poste de travail.
L'algorithme présentée réitère le procédé de la partie II. tant que le résultat n'est pas égal à 1 ; il affiche
II. Préliminaire 2
tout les résultats intermédiaires obtenus.
On considère les instructions suivantes :
Tester cet algorithme avec 5 ; 6 et 7 puis avec vos éventuels contre-exemples.
« On choisit un nombre entier plus grand que zéro ;
s’il est pair, on le divise par 2 ;
2°) Introduction d'un compteur
s’il est impair, on le multiplie par 3 et on ajoute 1. »
1°) Quel résultat donne cette suite d'instruction en partant du nombre 5 ? de 6 ? de 7 ?
2°) Ouvrir un nouveau fichier dans ALGOBOX et écrire un algorithme qui réalise ces instructions puis
qui affiche le résultat obtenu.
Compléter l'algorithme précédent en introduisant une nouvelle variable i qui servira de compteur.
Modifier l'algorithme de manière à ce qu'il affiche le nombre de résultats intermédiaires obtenus avant
d'arriver à 1.
Tester cet algorithme.
3°) Tester votre algorithme avec les valeurs 5 ; 6 et 7.
III. La conjecture de Syracuse
3°) Que ferait cet algorithme avec un contre exemple à la conjecture ?
V. Conclusion
1°) Appliquer l'algorithme précédent au nombre 1, appliquer de nouveau l'algorithme au résultat obtenu et
répéter ce procédé plusieurs fois. Que remarquez-vous ?
2°) Reproduire la démarche de la question 1°) en partant du nombre 5.
Cette conjecture fut émise la première fois au début des années 30 par un mathématicien de l'université de
Hambourg, Lothar Collatz. Elle est appelée conjecture de Syracuse ou encore conjecture de Collatz.
En dépit de sa simplicité, cette conjecture continue de défier les mathématiciens.
Le mathématicien hongrois Paul Erdõs (1913 - 1996) a dit à propos de cette conjecture :
" les mathématiques ne sont pas encore prête pour de tels problèmes".
Seconde – Algorithmique
1
Seconde – Algorithmique
2
Téléchargement