Didacticiels > 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.
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.
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.
* 
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.
5. Renvoyez la valeur de sum.
* 
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.
Comme prévu, le programme est équivalent à la somme suivante :
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.
2. A l'intérieur de la boucle while, ajoutez une nouvelle ligne en dessous de l'instruction while.
3. Ajoutez une instruction if et entrez l'expression ci-dessous.
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.
6. Calculez la valeur de sigma_not17 pour 16 et 17.
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.
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.
3. Spécifiez que la boucle while doit s'exécuter indéfiniment.
* 
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.
5. Ajoutez la valeur de l'itérateur i à une variable sum et incrémentez i de 1 à l'intérieur de la boucle.
6. Renvoyez la valeur de sum.
* 
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.
8. Calculez sum.
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.
* 
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.