![]() ![]() ![]() |
Le programmeur doit effectuer une démarche complète pour faciliter la maintenance de son code, pour lui-même s'il devait y revenir dessus après une certaine période, mais surtout pour d'autres personnes s'il travaille en groupe.
Vous trouvez tout ceci énervant ? inutile ? barbant ?
Soit, je vous comprends car moi-même je ne suis pas un fan de cette méthodologie.
Si vous ne voulez pas vous y plier, du moins au départ, il est alors impératif que vous faisiez un code source clair, avec un maximum de commentaires, d'explications en tous genres…
Je vous recommande d'utiliser au moins la boîte noire ainsi que l'état de la pile.
Cette démarche se divise en quatres points,
![]() ![]() ![]() ![]() |
![]() ![]() ![]() |
Je suis persuadé que cette phase est très importante, en effet vous posez les bases de votre programme, les idées que vous développerez… il est vital d'avoir un tel point de départ.
Les entrées doivent être générales si la boîte noire concerne un programme principal, ou bien très précises si celle-ci se reporte à un sous-programme dont la tâche est précise.
Pour un afficheur de mémoire hexadécimal, la boîte noire du programme principale pourrait être :
mémoire des TI | afficher à l'écran la mémoire des TI |
mémoire affichée à l'écran |
abscisse de l'affichage (mot) ordonnée de l'affichage (mot) base 2, 10 ou 16 (mot) pointeur du double mot (double mot) |
afficher un nombre à l'écran | double mot affiché à l'écran |
![]() ![]() ![]() |
Le but du jeu est d'inscrire ici les problèmes sur lesquels vous butez, ensuite libre à vous d'inscrire immédiatement la solution ou bien d'attendre d'avoir quelques problèmes ;o)))
Je vous recommande un tableau pour être efficace, du type :
Problèmes | Solutions |
problème n°1 | solution n°1 |
… | … |
![]() ![]() ![]() |
Je vous met tout de suite en condition avec un exemple concret.
Nous somme dans le programme d'affichage hexadécimal et nous devons faire un appel à la fonction d'affichage de double mot, les paramètres sont, comme nous l'avons défini dans la boîte noire, le pointeur du double mot, l'abscisse de l'affichage, l'ordonnée de l'affichage et la base (2, 10 ou 16).
Nous choisissons d'empiler ces paramètres dans l'ordre qui nous a semblé le plus logique, en sachant que l'appel à un sous-programme (à l'aide l'instruction BRS) empile le registre PC, voilà l'état de la pile quand nous somme à la première instruction du sous-programme :
CONTENU | instruction | pointeur |
ABSCISSE | MOVE.w ABSCISSE,-(A7) | 10(A7) |
ORDONNEES | MOVE.w ORDONNEES,-(A7) | 8(A7) |
BASE | MOVE.w BASE,-(A7) | 6(A7) |
POINTEUR | MOVE.l POINTEUR,-(A7) | 2(A7) |
registre PC | BSR.w | A7 |
![]() ![]() ![]() |
Il n'y a pas de normalisation pour écrire un algorithme, l'important c'est que vous compreniez ce que vous écrivez, et ce sans aucune ambiguïté.
Si vous connaissez ne connaissez aucun langage de haut niveau écrivez :
DEBUT X vaut 37; Y vaut 99; Si X1 est inférieur à X2 Alors X1 vaut X2; incrémenter X2; FinSi FIN
Si vous connaissez déjà le Turbo Pascal alors écrivez des lignes du style :
DEBUT X:=37; Y:=99; Si X1<X2 Alors X1:=X2; X2:=X2+1; FinSi FIN
DEBUT Si (X1 != X2) Alors { X1=X2; X2++; } FINEt ainsi de suite…
Zguide © 1998 - 1999 par Florian DREVET. Tous droits réservés