Suivez-nous sur X
|
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
ALL
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
Programmation : AMOS - Type de variables et affichage des erreurs
(Article écrit par Pierre-Philippe Launay et extrait d'Amiga News - mai 1992)
|
|
La documentation d'un programme ne consiste pas seulement à lui ajouter des commentaires.
Que fait par exemple ce codage ?
Input A,B
Cls
Text 10,10,B/A*0.9
|
Gasp alors ! Mais heureusement Super OctetoPhage, le Grand Créateur de ce code arcadien, sait ce qu'il a fait
et sait ce qu'il recherche. Par chance, il a aussi le génie de pouvoir lire les 2000 lignes d'un tel charabia.
Mais que dire quand ses programmes commencent à s'accumuler ? Que dire quand apparaît un résultat imprévu :
où sera alors située l'erreur ? En vérité, je soupçonne même Super OctetoPhage d'y perdre son latin. Alors voici
les solutions.
Il faut tout d'abord expliciter les variables. Les variables sont la base réelle des cauchemars du
non mathématicien. En informatique, nous savons que c'est tout simplement un moyen commode de garder une
valeur en lui donnant un nom. LONGUEUR et DUREE sont ainsi des variables où, pur hasard, j'ai décidé d'y
stocker une longueur et une durée saisie à la volée avec Input :
Input "Longueur galactique (Yard)",LONGUEUR
Input "Temps Total",DUREE
Cls
Text 10,10," Chronomètre",DUREE/LONGUEUR*0.9
|
On comprend déjà mieux l'attraction de l'Amiga sur le psychisme de Super OctetoPhage sans avoir mis une
ligne de remarque. Mais voilà, par décret royal du Board of Directors, on nous demande d'avantage de
précision sur les constantes. Faudra-t-il scruter les 4000 lignes du nouveau code pour déceler partout où
sera écrit la fameuse constante ? Non. Il suffit seulement fixer les constantes en début de codage et de
structurer :
Rem ---CONSTANTES------
YARD=0.914
Rem ---TEMPS UNITAIRE---
Input "Longueur galactique (Yard)",LONGUEUR
Input "Temps Total",DUREE
Cls
Text 10,10,"Chronomètre" ,DUREE/LONGUEUR*YARD
|
Les variables sont bien sûr les valeurs qui dépendent d'un calcul ou d'une saisie comme ici
LONGUEUR et DUREE et qui sont stockées en vue d'une réutilisation. Le calcul DUREE/LONGUEUR*YARD
n'est pas stocké et n'est donc pas une variable ; si on avait écrit CHRONO=DUREE/LONGUEUR*YARD,
CHRONO aurait été une variable : il stockait le résultat d'un calcul.
Rappelons encore qu'une constante est une variable qui doit en principe rester... fixe tout au long du codage.
Voilà, on peut enfin arriver à l'intérêt véritable de ce chapitre : une variable est stockée quelque part
en mémoire et prend donc de la place à la différence d'un simple calcul. Ainsi, cela va allonger le
code produit. Oui mais elles évitent aussi les calculs répétitifs et elles permettent une plus grande
clarté du fichier source.
Beaucoup plus intéressant pour nous : on peut utiliser jusqu'à sept lettres pour écrire le nom des variables.
Dépasser les sept lettres allongera inutilement le code compilé ou risque de poser des problèmes de conversion
quand nous convertirons notre code sur une calculatrice programmable telle que l'excellente Atari
ou la regrettée PC (personal calculator).
Puis le code commence à s'étoffer et on ne pourra plus prévoir toutes les erreurs car elles
atteindront un niveau mercuriel. Il faudra alors payer la note et le temps passé au codage.
Voici donc comment afficher les messages d'erreurs sous AMOS.
|