Conversion de programmes de base non écrits pour l'Altair BASIC
Bien que les implémentations de BASIC sur différents ordinateurs soient similaires à bien des égards, il existe certaines incompatibilités que vous devez surveiller si vous envisagez de convertir certains programmes BASIC n'ayant pas été écrits pour Altair.
- Index matriciels : Certains BASIC utilisent "[" et "]" pour désigner les index matriciels. ALTAIR BASIC utilise "(" et ")".
- Chaîne de caractères : Un certain nombre de BASIC vous obligent à dimensionner (déclarer) la longueur des chaînes de caractères avant de les utiliser. Vous devez supprimer toutes les instructions de dimension de ce type du programme. Dans certains de ces BASIC, une déclaration de la forme DIM A$(I,J) déclare une matrice de chaînes de caractères J éléments dont chacun a une longueur I. Convertissez les instructions DIM de ce type en équivalents dans Altair BASIC : DIM A$(J).
- Multiples associations. Certains BASIC autorisent des déclarations de la forme : 500 LET B=C=0. Cette instruction mettrait les variables B et C à zéro.
Dans Altair BASIC version 8K, cela a un effet entièrement différent. Tous les "=" à droite du premier seraient interprétés comme des opérateurs de comparaison logiques. Cela définirait la variable B sur -1 si C était égal à 0. Si C n'était pas égal à 0, B serait défini sur 0. Le moyen le plus simple de convertir des déclarations comme celle-ci est de les réécrire comme suit :
- 500 C=0:B=C
- Certains BASIC utilisent "\" au lieu de ":" pour délimiter plusieurs instructions par ligne. Changez les "\" en ":" dans le programme.
- Les bandes de papier perforées par d'autres BASIC peut n'avoir aucun NULL à la fin de chaque ligne, au lieu des trois par ligne recommandés pour une utilisation avec Altair BASIC.
- Les programmes utilisant les fonctions MAT disponibles dans certains BASIC devront être réécrits en utilisant les boucles FOR ... NEXT pour effectuer les opérations appropriées.
Altair BASIC utilise "+" pour la concaténation de chaînes de caractères, pas "," ou "&".
Altair BASIC utilise LEFT$, RIGHT$ et MID$ pour prendre des sous-chaînes de caractères de chaînes de caractères. D'autres BASIC utilisent A$(I) pour accéder au Ième caractère de la chaîne de caractères A$, et A$(I,J) pour prendre une sous-chaîne de A$ de la position de caractère I à la position de caractère J. Convertir comme suit :
Ancien | Nouveau |
---|---|
A$(I) | MID$(A$,1,1) |
A$(I,J) | MID$(A$,I,J-1+1) |
Cela suppose que la référence à une sous-chaîne de A$ se trouve dans une expression ou se trouve du côté droit d'une affectation. Si la référence à A$ se trouve sur le côté gauche d'une affectation et que X$ est l'expression de chaîne utilisée pour remplacer les caractères dans A$, convertissez comme suit :
Ancien | Nouveau |
---|---|
A$(I)=X$ | A$(I,J)=X$ |
A$=LEFT$(A$,I-1)+X$+MID$(A$,I+1) | A$=LEFT$(A$,I-1)+X$+MID$(A$,J+1) |
Pour contourner ce problème, essayez d'utiliser la commande d'alimentation de la bande magnétique sur le télétype pour arrêter la lecture de la bande dès que l'Altair BASIC tape un retour chariot à la fin de la ligne. Attendez une seconde, puis continuez à faire avancer la bande magnétique.
Lorsque vous avez fini de lire la bande papier du programme, assurez-vous de perforer une nouvelle bande au format Altair BASIC. Cela vous évitera d'avoir à répéter ce processus une seconde fois.