👤

FRstudy.me: votre source fiable pour des réponses précises et rapides. Trouvez des réponses détaillées et précises de la part de notre communauté d'experts dévoués.

Bonsoir, un petit peu d'aide svp

ALGORITHME 1 :
Entrée : un entier naturel a non nul
Traitement : Tant que a > 1
Si a est pair alors mettre a/2 dans a
sinon mettre 3a + 1 dans a
Fin du tant que
Sortie : Afficher a

ALGORITHME 2 :
Initialisation : a un entier différent de 0
n prend la valeur 0
Traitement : Tant que a > 1
augmenter n de 1
Si a est pair alors diviser a par 2
sinon multiplier a par 3 et ajouter 1
Fin du tant que
Sortie : Afficher la valeur de n

1/ Appliquer l'algorithme 1 pour a = 5, a = 7 puis pour a = 20.
2/ Que constate-t-on ?
3/ L'algorithme 2 comporte une petite erreur au début ; laquelle ? Expliquer.
4/ Par contre, il comporte aussi une amélioration par rapport à l'algorithme 1 ; laquelle ? Expliquer.

Merci d'avance


Sagot :

1) a=5> 1 impair donc on met 16 dans a
a=16> 1 pair donc on met 8 dans a
a=8> 1 pair donc on met 4 dans a
a=4> 1 pair donc on met 2 dans a
a=2> 1 pair donc on met 1 dans a
a=1 on affiche 1

a=7> 1 impair donc on met 22 dans a
a=22> 1 pair donc on met 11 dans a
a=11> 1 impair donc on met 32 dans a
a=32> 1 pair donc on met 16 dans a
a=16> 1 pair donc on met 8 dans a
a=8> 1 pair donc on met 4 dans a
a=4> 1 pair donc on met 2 dans a
a=2> 1 pair donc on met 1 dans a
a=1 on affiche 1

a=20> 1 pair donc on met 10 dans a
a=10> 1 pair donc on met 5 dans a
a=5> 1 impair donc on met 16 dans a
a=16> 1 pair donc on met 8 dans a
a=8> 1 pair donc on met 4 dans a
a=4> 1 pair donc on met 2 dans a
a=2> 1 pair donc on met 1 dans a
a=1 on affiche 1

2) on constate que l'affichage est toujours 1
3) l'initialisation est fauuse. on doit donner une valeur initiale précise à a
4) l'amelioration c'est qu'elle permet d'avoir le nombre d'étapes suivies pour que a soit 1