★ CODING ★ REDUCTION DU CODE BASIC (AMSTAR&CPC) ★ |
Reduction du Code Basic (Amstar&CPC) | Menu - Soft - Basic |
Le BASIC de votre Amstrad est très complet et assez rapide, mais il est possible, grâce à certains moyens simples, de raccourcir les lignes (et donc de gagner de la place en mémoire) et d'accélérer certaines fonctions, notamment les fonctions d'affichage.Voyons tout d'abord comment réduire la longueur des lignes. Pour réduire la longueur des lignes, on va supprimer un certain nombre de caractères inutiles, En effet, dans un assez grand nombre de cas, on peut supprimer des caractères, comme les espaces, et ainsi, à chaque fois gagner 1 octet ! Vous me direz que pour gagner 1 octet sur 42289, ça ne vaut pas le coup de se fatiguer. Malgré tout, en supprimant systématiquement les caractères inutiles, sur un programme de 40 Ko, on peut gagner entre 3 et 5 Ko, ce qui représente souvent un gain appréciable. Ainsi, la ligne : 10 IF a%=-1 THEN a%=b% ELSE PRINT "Non"(37 octets) peut être réduite en une ligne équivalente : 10 IF -1=a%THEN a%=b%ELSE PRINT"Nonde 32 octets, ce qui représente un gain de 13,5%. Dans quels cas les supprimer 1) Les guillemets : la règle est simple, ils ne peuvent être supprimés que quand c'est le dernier caractère d'une ligne. 10 PRINT "Oui" |
On peut retirer l'espace: | |||
Caractère | Code ASCII | Avant caractère | Après le caractère |
" | 34 | X | X |
# | 35 | X | X |
$ | 36 | X | |
% | 37 | X | |
& | 38 | X | |
( | 40 | X | |
) | 41 | X | |
- | 45 | X |
Appliquons ces règles dans un petit programme d'exemple :
Ce petit programme peut ainsi être optimisé de la façon suivante :
Pour raccourcir un programme BASIC, on peut aussi :
Les caractères de contrôle
Le «manuel de l'utilisateur» fait en effet assez peu état de ces caractères (0 à 31, dans le code ASCII), mais leur utilisation a le grand avantage de réduire ta longueur du code BASIC et d'accélérer grandement l'affichage de paramètres et de messages à l'écran.
Pour obtenir ces caractères, tapez la ligne :
FOR I=0 TO 31 :?"Le caractère";i;";";CHR$(1);CHR$(i);" est obtenu en appuyant simultanément sur les touches :CONTROL et ";CHR$(I+64):NEXT Attention tout de même, ces caractères correspondant à des instructions, ils peuvent vous réserver quelques surprises si vous voulez lister le programme sur une imprimante.
L'utilisation conjuguée des caractères de contrôle et des règles précédemment évoquées permet d'accélérer sensiblement vos programmes, sans avoir recours à l'assembleur et peut libérer jusqu'à un cinquième, voire un quart de la place occupée par un programme, ce qui peut être très précieux.
|
|