Module: Instruction de boucle avec condition - while


Problem

1/20

La construction d'une instruction de boucle avec une condition (while)

Theory Click to read/hide

Une boucle avec une condition. Instruction while
En étudiant la boucle for, nous avons dit que si le nombre de répétitions de n'importe quelle action est connu, alors vous pouvez raccourcir le programme en utilisant l'opérateur de boucle for. Mais que se passe-t-il si le nombre de répétitions est inconnu ? Et cela arrive assez souvent.
 
Exemple
En se souvenant de la traduction d'un nombre d'un système de nombres décimaux à un autre, nous devons diviser le nombre (puis le résultat de la division) par la base du système de nombres jusqu'à ce que nous obtenions zéro dans la réponse. Combien de fois nous partagerons est inconnu. Et il existe de nombreux programmes qui implémentent un tel algorithme. 

Comment pouvons-nous implémenter l'algorithme si nous ne connaissons pas le nombre exact d'itérations ?

Pour de tels cas en programmation, il existe une instruction de boucle avec une condition. 
Dans le langage de programmation Python, une instruction de boucle conditionnelle commence par le mot while et a la structure suivante.
while (<condition>) 
{
  corps de boucle
}

Comme nous le savons déjà :
- condition est une expression qui peut être évaluée comme vraie ou fausse (comme dans une instruction conditionnelle) ;
- Les corps de la boucle sont des commandes à répéter, elles sont indentées.

Comment fonctionne l'opérateur ?
1. Tout d'abord, le programme évalue la condition entre parenthèses après le mot while. Si la condition est remplie (true), alors le programme exécute la ou les instructions contenues dans le corps de la boucle.
2. Une fois l'exécution du corps de la boucle terminée, le programme revient pour vérifier la condition et la vérifie à nouveau.
3. Ces actions (vérification de la condition - exécution du corps de la boucle) sont répétées jusqu'à ce que la condition devienne fausse.
4. Si la condition n'est pas immédiatement remplie (faux) lors de la première exécution de cette instruction, alors le programme n'exécutera jamais le corps de la boucle.

En analysant le travail de cet opérateur, il devrait devenir clair que le corps de la boucle doit contenir un opérateur qui affecte la condition.
Par exemple, dans une boucle, la valeur d'une variable utilisée dans une condition peut être incrémentée.

Un exemple de programme que nous appellerons "Silent count".
Faisons en sorte que le programme compte à notre place, par exemple, jusqu'à 10.
Le programme doit afficher les phrases "Start" et "Terminer", et entre ces actions afficher les nombres en cours de calcul.

Par exemple, comme ceci :
Commencer
1 2 3 4 5 6 7 8 9 10
Terminer

Un programme utilisant une boucle while ressemblerait à ceci : utiliser le système ; programme de classe {     vide statique Principal() {         Console.WriteLine("Démarrer");         int je = 1 ;         tandis que (je <= 10) {             Console.WriteLine(i);             je++ ;         }         Console.WriteLine("Terminer");     } } Dans ce programme, nous attribuons une valeur à la variable i = 1 - le point de départ.
De plus, tant que la valeur de la variable i n'est pas supérieure (c'est-à-dire inférieure ou égale) à la valeur dont nous avons besoin, nous :
 1) afficher la valeur de la variable i;
 2) augmenter la valeur de la variable i  de 1 - cet opérateur affecte la valeur de la condition entre parenthèses. La variable i  est incrémentée, ce qui signifie qu'à un moment donné la condition i <= 10 deviendra fausse. Cela se produira lorsque i est égal à 11. Dans ce cas, le corps de la boucle ne sera plus exécuté et le programme exécutera l'instruction suivante après la boucle, c'est-à-dire  Console.WriteLine("Finish").

Problem

Exécutez le programme, analysez le résultat de son travail.