Section courante

A propos

Section administrative du site

Lecture de données

Dans certains programmes précédents, nous avons vu que des informations, ou des données, peuvent être saisies directement dans l'ordinateur à l'aide de l'instruction INPUT. Parfois, cela peut être très fastidieux, surtout si beaucoup de données sont répétées à chaque fois que le programme est exécuté. Vous pouvez gagner beaucoup de temps en utilisant les commandes READ, DATA et RESTORE. Par exemple :

  1. 10 READ a,b,c
  2. 20 PRINT a,b,c
  3. 30 DATA 10,20,30
  4. 40 STOP

Une instruction READ consiste en READ suivi d'une liste de noms de variables, séparés par des virgules. Cela fonctionne un peu comme une instruction INPUT, sauf qu'au lieu de vous faire taper les valeurs à donner aux variables, l'ordinateur recherche les valeurs dans l'instruction DATA.

Chaque instruction DATA est une liste d'expressions - des expressions numériques ou de chaîne de caractères - séparées par des virgules. Vous pouvez les placer n'importe où dans un programme, car l'ordinateur les ignore sauf lorsqu'il effectue une lecture. Vous devez imaginer les expressions de toutes les instructions DATA du programme comme étant assemblées pour former une longue liste d'expressions, la liste DATA. La première fois que l'ordinateur va lire une valeur, il prend la première expression de la liste DATA ; la prochaine fois, il prend la seconde; et ainsi, au fur et à mesure qu'il rencontre des instructions READ successives, il se fraye un chemin à travers la liste DATA. (S'il essaie de dépasser la fin de la liste DATA, cela donne une erreur.)

Notez que c'est une perte de temps de mettre des instructions DATA dans une commande directe, car READ ne les trouvera pas. Les instructions DATA doivent aller dans le programme. Voyons comment ceux-ci s'emboîtent dans le programme que vous venez de taper. La ligne 10 indique à l'ordinateur de lire trois données et de leur donner les variables a, b et c. La ligne 20 indique alors PRINT ces variables. L'instruction DATA de la ligne 30 donne les valeurs de a, b et c. La ligne 40 arrête le programme. Pour voir l'ordre dans lequel les choses fonctionnent, remplacez la ligne 20 par :

  1. 20 PRINT b,c,a

Les informations contenues dans DATA peuvent faire partie d'une boucle FOR...NEXT. Tapez :

  1. 10 FOR n=1 TO 6
  2. 20 READ D
  3. 30 DATA 2,4,6,8,10,12
  4. 40 PRINT D
  5. 50 NEXT n
  6. 60 STOP

Lorsque ce programme est exécuter (RUN), vous pouvez voir l'instruction READ se déplacer dans la liste DATA, les instructions DATA peuvent également contenir des variables de chaîne de caractères. Par exemple :

  1. 10 READ d$
  2. 20 PRINT "La date est",d$
  3. 30 DATA "1er juin 1982"
  4. 40 STOP

C'est le moyen le plus simple d'extraire des expressions de la liste DATA : commencez par le début et progressez jusqu'à la fin. Cependant, vous pouvez faire sauter l'ordinateur dans la liste DATA à l'aide de l'instruction RESTORE. Cela a RESTORE, suivi d'un numéro de ligne, et fait que les instructions READ suivantes commencent à obtenir leurs données à partir de la première instruction DATA au niveau ou après le numéro de ligne donné. (Vous pouvez manquer le numéro de ligne, auquel cas c'est comme si vous aviez tapé le numéro de ligne de la première ligne du programme.)

Essayez ce programme :

  1. 10 READ a,b
  2. 20 PRINT a,b
  3. 30 RESTORE 10
  4. 40 READ x,y,z
  5. 60 PRINT x,y,z
  6. 60 DATA 1,2,3
  7. 70 STOP     

Dans ce programme les données demandées par la ligne 10 faisaient a=1 et b=2. L'instruction RESTORE 10 a réinitialisé les variables et autorisé la lecture de x, y et z à partir du premier nombre de l'instruction DATA. Réexécutez ce programme sans la ligne 30 et voyez ce qui se passe.



Dernière mise à jour : Mercredi, le 19 avril 2023