Section courante

A propos

Section administrative du site

Commandes d'affectation

Vous créez et initialisez normalement des variables (c'est-à-dire, affectez une valeur de début) avec une seule instruction de programme. Vous utilisez les commandes ci-dessous pour affecter les différents types de variables disponibles dans ABasiC.

= (en tant que commande d'affectation de variable)

variable = expression

Vous pouvez utiliser l'opérateur = pour affecter une valeur à une variable. Le BASIC traditionnel nécessite la commande LET (voir la description de LET ci-dessous), mais de nombreux dialectes du langage, y compris ABasiC, traitent LET comme une commande facultative.

Pour effectuer une affectation de variable avec l'opérateur =, le nom de la variable doit être seul à gauche de l'opérateur et l'expression (numérique ou chaîne de caractères) doit être à droite. Voici quelques exemples :

  1. TEMP = 98.6
  2. WOMBAT$ = "UN ANIMAL A POIL"

Le nom de la variable, le signe égal et l'expression doivent être autonomes dans une instruction. Si vous incluez ces éléments dans une expression plus grande ou si vous les utilisez avec une commande autre que LET, ABasiC interprète le signe égal comme un opérateur relationnel. (Voir «Les opérateurs» pour plus de détails.)

CLR

CLR

Utilisez la commande CLR pour effacer les tampons de fichiers, les chaînes de caractères et les tableaux de la mémoire. CLR fournit au programme ABasiC résident la quantité maximale de RAM libre dans laquelle s'exécuter. ABasic laisse le programme et ses variables simples (pas des tableaux) seuls.

CLR ferme tous les fichiers ouverts. L'utilisation de CLR efface les informations pour ouvrir les fichiers. Il efface également les données accumulées dans un fichier tampon en attente d'être envoyées vers un fichier disque. Le CLR n'informe pas les périphériques tels qu'une imprimante ligne qu'un fichier a été fermé : par exemple, le lecteur de disque garde un fichier ouvert que le CLR a en fait fermé. Pour éviter les erreurs de fichier et la perte d'informations dans les tampons de fichiers, utilisez la commande CLOSE avant d'utiliser CLR. Vous pouvez utiliser CLR dans un programme ou en mode immédiat.

DIM

DIM variable (constant [ , constant]...)
[ ,variable (constant,constant]

Utilisez la commande DIM pour associer un nom de variable à une liste d'éléments d'une ou plusieurs dimensions ; une telle liste s'appelle un tableau. Un tableau de deux dimensions ou plus est appelé une matrice. DIM fait deux choses : il indique à ABasiC la forme des valeurs du tableau (par exemple, des lignes ou des lignes et des colonnes), et il définit le nombre maximum d'éléments que chaque dimension peut contenir. Chaque tableau doit avoir au moins un élément par dimension et peut contenir jusqu'à 15 dimensions. Chaque tableau commence par l'élément numéro zéro (0). (Voir OPTION BASE pour les exceptions.)

Vous devez spécifier une instruction DIM avant d'affecter des valeurs d'élément à un tableau dans votre programme. Ne pas le faire génère une erreur. Un tableau ne contenant pas plus de 10 éléments dans chaque dimension est une exception, car ABasiC alloue automatiquement suffisamment de mémoire pour un tel tableau. Le nombre de dimensions par défaut est quatre pour les nombres entiers et trois pour tous les autres types de variables. Les besoins en mémoire pour chaque type d'élément sont les suivants :

Type de données Taille
Entier 4 octets
Nombre réel de simple précision 4 octets
Nombre réel de double précision 8 octets
Chaîne de caractères 12 octets

Si le programme rencontre plusieurs instructions DIM (ou deux fois la même) pour un seul nom de variable, une erreur se produit. Une exception est l'utilisation de la commande ERASE (décrite ci-dessous) pour libérer la mémoire affectée à un tableau. C'est une bonne idée de placer les instructions DIM au début de votre programme.

Vous pouvez utiliser une seule instruction DIM pour affecter plusieurs tableaux. Séparez simplement les éléments par des virgules. L'exemple suivant affecte deux tableaux, NUMS et ABC$ :

  1. DIM NUMS(2,20), ABC$(15)

Vous pouvez déterminer le nombre total d'éléments d'un tableau en multipliant le nombre d'éléments par dimension. L'instruction DIM suivante :

  1. DIM A(30,40)

réserve de la mémoire pour 30x40, soit 1200 éléments.

Lorsque vous affectez des valeurs aux éléments du tableau, utilisez la même structure pour le tableau que vous avez utilisée lorsque vous avez déclaré les dimensions du tableau. Une affectation typique d'un élément du tableau dans l'exemple précédent est 

  1. A(K,2) = K*3

Cette instruction affecte la valeur K*3 à la ligne K, colonne 2 du tableau A(). Vous pouvez également utiliser DIM pour attribuer de l'espace aux tableaux de chaînes. Le nombre maximum de caractères qu'ABasiC réserve pour chaque élément du tableau de chaînes de caractères est de 255, la limite de la taille d'une chaîne de caractères.

  1. 10 DIM X(15), A%(4,4)
  2. 20 FOR I=1 TO 4:X(I)=I*10:A%(1,I)=I*2
  3. 30 NEXT I
  4. 40 FOR J=1 TO 4:PRINT X(J), A%(1,J)
  5. 50 NEXT J

Lorsque vous exécutez le programme, le résultat est :

10        2
20        4
30        6
40        8

ERASE

ERASE array name [ ,array name]...

Utilisez la commande ERASE pour redimensionner les tableaux (c'est-à-dire affecter un nouveau nombre d'éléments par dimension) pendant l'exécution du programme. Les besoins en mémoire d'une baie particulière peuvent diminuer considérablement au milieu du programme. En utilisant ERASE, vous pouvez récupérer la mémoire dont la baie n'a plus besoin. Ensuite, utilisez une nouvelle instruction DIM pour réserver les nouveaux besoins en mémoire de la baie. Si vous essayez d'utiliser une nouvelle instruction DIM avant d'avoir effacé ce tableau pour la première fois, vous générerez une erreur.

Comme le montre l'exemple, vous pouvez redimensionner le tableau pour inclure plusieurs éléments par employé, ainsi que des employés supplémentaires :

  1. 10 DIM PAYROLL$(20)
  2. 20 FOR I=1 TO 20
  3. 30 INPUT NAME$: NAME$
  4.  PAYROLL$(I)=
  5.  ' ...
  6. 200 ERASE PAYROLL$: DIM PAYROLL$(35,10)
  7.  ' ...
  8. 310 PAYROLL$(K,2)="ANNEE-A-DATE"

LET

[LET] variable = numeric expression | "string"

La commande LET est facultative. Les premières versions de BASIC nécessitaient son utilisation pour attribuer des valeurs de variables, mais ABasiC (et la plupart des autres dialectes) vous permet désormais d'utiliser le nom de la variable seul sur le côté gauche de l'instruction. Voir la description de l'utilisation de l'opérateur = pour affecter des valeurs de variables. Les deux commandes suivantes ont un effet identique :

  1. LET X = X - 35
  2. X = X - 35     

OPTION BASE

OPTION BASE 1 | 0

La commande OPTION BASE définit la base des dimensions du tableau. La valeur par défaut est 0, ce qui signifie que le premier élément de chaque dimension d'un tableau est numéroté 0. L'instruction suivante dans votre programme :

  1. OPTION BASE 1

indique à ABasiC de numéroter tous les éléments du tableau en commençant par 1.

RANDOMIZE

RANDOMIZE numeric expression

Utilisez RANDOMIZE pour réamorcer le générateur de nombres aléatoires. En d'autres termes, cette commande génère une nouvelle séquence de nombres aléatoires. Si vous insérez des appels à la commande RANDOMIZE dans votre programme, les nombres renvoyés par la fonction RND sont plus variés et donc plus véritablement aléatoires que si vous utilisez la fonction RND seule.

Par exemple, vous pouvez utiliser -1 comme paramètre :

  1. RANDOMIZE -1

Chaque fois que cette instruction s'exécute, une valeur différente devient la nouvelle graine de nombre aléatoire (la valeur utilisée pour démarrer une nouvelle séquence), assurant ainsi une variété maximale de valeurs RND.

REPLACE$

REPLACE$(string variable, integer-1 [ ,integer-2]) = "string"

Utilisez la commande REPLACE$ pour remplacer une chaîne de caractères par une autre dans la valeur d'une variable de chaîne existante. L'expression entière integer-1 est la position du premier caractère de la chaîne de caractères que vous souhaitez remplacer. Le deuxième entier, étant facultatif, est le nombre de caractères de la chaîne de caractères de remplacement à utiliser. Si vous omettez le deuxième entier, ABasiC utilise tous les caractères de la chaîne de caractères de remplacement jusqu'au nombre de caractères qu'elle contient ou dans la chaîne de caractères d'origine, selon la valeur la plus courte.

  1. 60 MONTH$ = "SEPTEMBRE"
  2. 70 D$ = "9AOU85": PRINT D$
  3. 80 REPLACE$(D$,2,3) = MONTH$
  4. 90 PRINT D$

Lorsque vous exécutez le programme, le résultat est :

9AUT85
9SEP85

Dans l'exemple ci-dessus, les trois premiers caractères de MONTH$ remplacent trois caractères (commençant au caractère numéro deux) de D$.

REM

REM character string

Utilisez la commande REM pour insérer des remarques ou des commentaires dans un programme. Ces commentaires utilisent un peu de mémoire, bien qu'ils puissent fournir une documentation utile.

ABasiC ignore toute chaîne de caractères, y compris les instructions de programme, suivant une instruction REM dans une ligne de programme. Ainsi, si vous ajoutez un REM à une ligne de programme contenant des instructions exécutables, REM doit être la dernière instruction de cette ligne.

Vous constaterez qu'une insertion temporaire d'une commande REM peut aider à déboguer votre code. Vous pouvez masquer les instructions en insérant un REM devant elles et en éditant le REM plus tard. Ce qui suit illustre l'utilisation de REM dans les lignes de programme :

  1. 20 REM Ce programme calcule le nombre d'anges pouvant danser sur la tete d'une epingle
  2. 50 FOR K = 1 TO 17 REM Boucle a travers le nombre de formules

L'apostrophe (') est une forme alternative de la commande REM. Par exemple, la ligne ABasiC suivante est valide :

  1. 10 FOR K = 1 TO 10: ' Boucle a travers les listes K

SWAP

SWAP variable-1, variable-2

Utilisez la commande SWAP pour échanger les valeurs de deux variables. Les variables doivent être du même type de données, telles que les variables simple précision ou les deux variables de chaîne de caractères. Vous pouvez SWAP les variables de tableau, mais pas les valeurs de tableau elles-mêmes.

  1. 10 x=5: y=10
  2. 20 SWAP X,Y:PRINT X,Y

Lorsque vous exécutez le programme, le résultat est :

10        5

Dernière mise à jour : Mercredi, le 3 mai 2023