La bonne réponse est :

count vaut 1
count vaut 3
count vaut 5        après avoir affiché cela, count est changée en 5+2=7
Fin de la boucle !

Le Garde-fou

Il n'est pas nécessaire que la variable de controle de la boucle (count) atteigne exactement la limite qui est testée dans la condition de la boucle while :

    while ( count <= 6 ) 
La valeur "5" passe le test. Ensuite, elle est incrémentée à "7". Et la valeur "7" échoue lors du test.

La condition du while est comme un "garde-fou". Elle vérifie soigneusement la condition pour permettre ou non au flux d'exécution d'accéder dans le corps de la boucle. C'est ce qu'illustre le diagramme de flux ci-dessus. L'exécution "s'écoule" le long des lignes en direction des flèches. Le losange noté "Test Condition" représente le "garde-fou". Si la condition s'évalue à true, l'exécution se poursuivra dans le corps de la boucle.

Une fois que le flux d'exécution se trouve dans le corps de la boucle, il exécute entièrement les instructions contenues. Ce n'est qu'une fois que l'ensemble des instructions de la boucle ont été exécutées, que le flux d'exécution retourne au début de la boucle, où le "garde-fou" l'autorise ou non à exécuter une fois de plus le corps de la boucle.

QUESTION 3:

Imaginons que la condition soit count <= 6 et qu'il y a beaucoup d'instructions dans le corps de la boucle. Si l'une des instructions située au milieu du corps de la boucle change la variable count à 12, est-ce que l'exécution de la boucle s'arretera immédiatement ?

Regardez attentivement le diagramme ci-dessus !