| demander("Tapez
un nombre compris entre 1 et 5", nombre); while (nombre < 1 || nombre > 5) demander("Tapez un nombre compris entre 1 et 5", nombre); | Le problème de cette version est que
l'on est obligé de répéter le demander ce qui
semble redondant | 
| nombre = 6; while (nombre < 1 || nombre > 5) demander("Tapez un nombre compris entre 1 et 5", nombre); | Cette version résout le
problème du demander redondant
mais force l'entrée dans la boucle par une initialisation
 totalement artificielle de nombre | 
| do { instruction1; ... instructionx; } while (expressionBool); /* fin du do ... while */ | do demander("Tapez un nombre compris entre 1 et 5", nombre); while (nombre < 1 || nombre > 5); /* fin du do ... while */ | Dans cette version, il n'y a pas redondance, il n'y a pas d'initialisation artificielle. Le do ... while est parfaitement adapté à ce genre de problème. |