Exemple : Utilisation de l'opérateur de programmation par approximations successives
Utilisez les opérateurs de programmation try-on-error, break, continue et return pour gérer les conditions d'erreur.
1. Sous l'onglet Mise en forme mathématique, dans le groupe Résultats, cliquez sur Afficher les zéros à droite.
2. Définissez une matrice 6x6, puis utilisez la fonction matrix afin de définir ses éléments sur une valeur connue.
3. Ecrivez un programme afin de définir une plage d'éléments sur une valeur définie par une fonction sur la plage donnée.
Le programme échoue car, lorsque x=0 et y=0, il essaie de diviser (x+y) par zéro.
4. Modifiez le programme de sorte que l'élément (0,0) de la nouvelle matrice prenne la valeur de l'élément correspondant de la matrice Z au lieu de la valeur de division par zéro.
Le programme s'assure que l'élément (0,0) ne peut pas être défini à une valeur de division par zéro.
5. Utilisez les opérateurs try et break pour capturer la condition d'erreur et autoriser l'exécution du programme. La condition d'erreur, diviser par zéro, est représentée par la chaîne "DBZ".
Le bloc on error n'est exécuté que si le test d'essai renvoie une erreur.
Mathcad exécute le programme de la manière suivante :
a. La première boucle commence par x=0 et y=0.
b. L'opérateur try recherche les erreurs dans l'expression et trouve une erreur "diviser par zéro". Cette erreur indique au programme d'exécuter le bloc on error.
c. Le bloc on error exécute sa première instruction et définit l'élément (0,0) sur "DBZ", puis l'opérateur break arrête l'exécution de la boucle courante (x=0, y=0..5). Par conséquent, les autres éléments restants row=0 restent inchangés.
d. Le programme passe à la boucle x suivante (x=1, y=0..5) et, en l'absence d'autres erreurs, écrit les éléments row=1.
e. Le programme se poursuit et exécute les boucles restantes jusqu'à ce qu'il couvre les plages spécifiées.
6. Remplacez l'opérateur break par l'opérateur continue et observez le résultat différent qui en découle.
A la différence de l'opérateur break, l'opérateur continue continue jusqu'à l'itération suivante de la boucle courante et les éléments restants row=0 ainsi que les éléments restants de la matrice sont définis sur (x+y)/(10x-y) comme auparavant.
7. Remplacez l'opérateur continue par l'opérateur return et observez le résultat différent qui en découle.
A la différence de l'opérateur continue, qui poursuit l'exécution de la boucle courante, l'opérateur return interrompt le programme et renvoie Y3 avec l'élément (0, 0) défini sur "DBZ".