Cette sous-partie ne va pas vous apprendre à vous servir d'une fonction super cool. Non, ce chapitre va vous apprendre à ne pas vous servir des labels

.
Après cette entrée en scène dramatique, je vais vous expliquer ce que sont les labels. Les labels (littéralement "étiquettes") sont des repères, des marque-pages en quelque sorte, permettant des saut inconditionnels. Un saut inconditionnel est quelque chose de tout à fait bizarre. Au lieu de lire ligne par ligne le programme, la calculatrice va se "téléporter" dans le programme, que ce soit vers l'avant ou vers l'arrière. Leur utilisation est d'une simplicité déconcertante, ce qui fait que les débutants les utilisent beaucoup.
Pour créer une étiquette, il vous faudra utiliser la fonction
Lbl (=>
[SHIFT][VARS][F3][F1]) et la faire suivre d'un chiffre, d'une lettre de l'alphabet latin majuscule (A~Z), ou encore de thêta ou rho.
Pour faire un saut vers une étiquette, il suffit d'utiliser la fonction
Goto (=>
[SHIFT][VARS][F3][F2]), suivie du chiffre ou de la lettre du
Lbl correspondant.
Avant de taper quoi que ce soit, sachez que
l'utilisation des labels est très fortement déconseillée :
- ils sont lents
- ils créent des bugs. Sur les petits programmes, on ne s'en rend pas compte, mais sur les gros, on s'en aperçoit tout de suite. J'ai eu le malheur d'utiliser des labels il y a encore peu, et je me suis aperçu que mes programmes que j'avais écrit ne fonctionnaient pas du tout comme je le voulais sur Graph 35+/65 alors qu'ils fonctionnaient sans problème sur ma Graph 85 SD
- ils vont vous faire tourner en bourrique
, car au lieu de debugger ligne par ligne, de haut en bas, vous allez devoir chercher un peu partout ("téléportation" oblige)
Il n'y a pas de bonne utilisation des labels, car on peut tout faire sans.
Je vais vous écrire un code, qu'il faudra imprimer dans votre esprit comme étant "mauvais" :
Code : Autre - Exemple d'un mauvais code, utilisant les labels1
2
3
4
5
6
| Lbl 1
"MOT DE PASSE"?->A
A=1234=>Goto 2
Goto 1
Lbl 2
"MOT DE PASSE DECOUVERT" |
Ce code demande le mot de passe à l'utilisateur, le stocke dans A, si le mot de passe est égal à 1234, on continue, sinon on recommence depuis le début (je pense que vous auriez compris sans mon explication). Ce code peut être écrit sans labels, grâce à une simple boucle qu'on a vu dans le précédent chapitre, par exemple comme ceci :
Code : Autre - Exemple de bon code, sans labels1
2
3
4
| Do
"MOT DE PASSE"?->A
LpWhile A!=1234
"MOT DE PASSE DECOUVERT" |
Je ne sais pas ce que vous en pensez, mais moi, je préfère le second code rien que parce qu'il prend moins de place (4 lignes au lieu de 6

).
Un code sans labels n'est pas forcément bon (il faut toujours se relire, pour avoir un code clair, fonctionnel et optimisé au maximum), en revanche, un code avec des labels est forcément mauvais

.