Une valeur particulière

 

Reprenons le programme précédent en prenant comme valeur de départ 4.

 

On obtient :

Si l’on part de la valeur 4, on aboutit à une répétition qui sera inéluctablement : 4 – 2 – 1 – 4 – 2 – 1 …

En effet 4 est pair : on le divise par 2 et l’on obtient 2, qui est également pair : on le divise par 2 et l’on obtient 1, qui est impair : on le multiplie par 3 et l’on ajoute 1, et l’on obtient 4…

Si la suite des transformations aboutit à 4, tout ce qui suivra sera de la forme 4 – 2 – 1.

Si l’on prend par exemple le nombre 52, on obtient

 

On pourrait se demander si en partant de n’importe quel nombre on aboutit à 4 au bout d’un certain nombre de transformations.

Pour cela, il ne faut pas limiter les calculs à 10 boucles. En pratique, à supposer qu’à partir d’un nombre choisi au départ, on aboutisse à 4, on ne sait pas a priori combien il faudra faire de tours de boucles avant d’aboutir à 4.

L’instruction « Pour » est mal adaptée puisqu’elle suppose que l’on indique au programme combien de fois il devra répéter le calcul. Il faudrait une instruction plus « ouverte » qui effectue le programme tant que l’on n’a pas obtenu 4.

Cette instruction c’est par exemple « REPETER Jusqu'à » :

 

 

 

Nous pouvons convertir l’instruction « POUR » en cette nouvelle instruction : on clique avec le bouton droit de la souris sur le bloc instruction « POUR » et l’on choisit « convertir en », puis « Boucle REPETER JUSQU'A ».

La transformation s’effectue comme on peut le voir ci-contre.

On modifie le 1 dans l’hexagone du bas en indiquant la condition :

 

Lançons le programme pour quelques valeurs simples et pas trop importantes.

Nous obtenons à chaque fois 4 au bout d’un certain nombre de répétitions.

 

RETOUR