Didacticiel Programmation > Tâche 3–2 : Ecriture de boucles while
  
Tâche 3–2 : Ecriture de boucles while
Ecriture d'une fonction while de base
Ecrivez une fonction sigma qui calcule la somme de tous les entiers de 0 à n.
1. Définissez une fonction sigma qui accepte une variable n et créez un nouveau programme.
Cliquez pour copier cette expression
2. Pour ajouter une boucle while vide, dans l'onglet Mathématiques, dans le groupe Opérateurs et symboles, cliquez sur Programmation, puis sur while.
Cliquez pour copier cette expression
3. Spécifiez que la boucle while doit continuer à s'exécuter tant que n>0 et que n doit décrémenter de 1 à l'intérieur de la boucle.
Cliquez pour copier cette expression
* 
Contrairement aux boucles for, vous devez incrémenter ou décrémenter l'itérateur while.
4. Pour ajouter la valeur actuelle de l'itérateur à la somme, entrez la ligne suivante comme indiqué ci-dessous, immédiatement après l'instruction while.
Cliquez pour copier cette expression
5. Renvoyez la valeur de sum.
Cliquez pour copier cette expression
* 
Mettez à jour l'itérateur en dernier, sinon vous raterez l'addition de la première itération.
6. Calculez la valeur de sigma pour 5.
Cliquez pour copier cette expression
Comme prévu, le programme est équivalent à la somme suivante :
Cliquez pour copier cette expression
Ajout d'instructions continue
Ajoutez des instructions continue pour continuer à exécuter la boucle, mais en ignorant une itération spécifique.
Ecrivez une fonction qui calcule la somme de tous les entiers de 0 à n, à l'exception des multiples de 17.
1. Copiez la fonction ci-dessus et renommez-la en sigma_not17.
Cliquez pour copier cette expression
2. A l'intérieur de la boucle while, ajoutez une nouvelle ligne en dessous de l'instruction while.
Cliquez pour copier cette expression
3. Ajoutez une instruction if et entrez l'expression ci-dessous.
Cliquez pour copier cette expression
4. Décrémentez n de 1 afin d'éviter une boucle infinie.
5. Pour ajouter une instruction continue, dans l'onglet Mathématiques, dans le groupe Opérateurs et symboles, cliquez sur Programmation, puis sur continue.
Cliquez pour copier cette expression
6. Calculez la valeur de sigma_not17 pour 16 et 17.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Ajout d'instructions break
Ecrivez un programme qui effectue la somme de tous les entiers et qui quitte la boucle lorsque le compteur est supérieur à 20.
1. Définissez une variable sum et créez un nouveau programme.
Cliquez pour copier cette expression
2. Pour ajouter une boucle while vide, dans l'onglet Mathématiques, dans le groupe Opérateurs et symboles, cliquez sur Programmation, puis sur while.
Cliquez pour copier cette expression
3. Spécifiez que la boucle while doit s'exécuter indéfiniment.
Cliquez pour copier cette expression
* 
Une boucle while s'exécute tant que la valeur de l'expression entre parenthèses n'est pas égale à 0.
4. Initialisez sum et i.
Cliquez pour copier cette expression
5. Ajoutez la valeur de l'itérateur i à une variable sum et incrémentez i de 1 à l'intérieur de la boucle.
Cliquez pour copier cette expression
6. Renvoyez la valeur de sum.
Cliquez pour copier cette expression
* 
Telle qu'elle est maintenant, cette boucle est infinie.
7. Pour rompre la boucle, entrez if i > 20 et ajoutez l'instruction break. Pour ajouter une instruction break, dans l'onglet Mathématiques, dans le groupe Opérateurs et symboles, cliquez sur Programmation, puis sur break.
Cliquez pour copier cette expression
8. Calculez sum.
Cliquez pour copier cette expression
9. Pour rompre la boucle et quitter le programme, sélectionnez l'instruction break et dans l'onglet Mathématiques, dans le groupe Opérateurs et symboles, cliquez sur Programmation, puis sur return, afin de modifier l'instruction en une instruction return. Entrez sum dans l'espace réservé comme indiqué ci-dessous.
Cliquez pour copier cette expression
* 
Utilisez return pour quitter immédiatement un programme.
Exercice
Avant de passer à la tâche suivante, écrivez une fonction fact(n) qui implémente une fonction factorielle à l'aide d'une boucle while. Définissez la boucle de telle sorte qu'elle s'exécute tant que n est supérieur à 1. A l'intérieur de la boucle, multipliez n par une variable product (en enregistrant le résultat de la factorielle) et décrémentez n de 1.
* 
Dans PTC Mathcad, les variables programme sont définies sur 0 par défaut. Au début du programme, vous devez affecter la valeur 1 à product. Sinon, le programme fournira la valeur 0 pour tous les arguments.
Passez à la tâche 3–3.