Accueil > QBasic > QBasic – L’organisation des données

QBasic – L’organisation des données

This entry is part 21 of 30 in the series QBasic - Tutoriel
  1. Le stockage des données
  2. Accès au données

Lorque dans un programme on doit utiliser une multitude de données, on peut se simplifier la
vie en les organisant d’une manière très simple avec les instructions DATA, READ et
RESTORE.


Le stockage des données


Pour stocker les données, on utilise DATA. On écrit DATA, suivi des données, tout en
veillant de les séparer par une virgule. Les données peuvent être soit numériques, soit chaines
de caractères, soit les deux. Voici un exemple d’application :

DATA « Socrate », « Platon », « Aristote »
DATA 666, 2000, 3.14159265458
DATA « Pascal », 7

Pour les chaînes de caractères, il n’est pas utile de les stocker avec les guillemets. Mais
des qu’il y a plusieurs mots, il deviennent nécessaires.

Les DATA peuvent se situer n’importe où dans le code, l’effet sera le même. La coutume
veut qu’on les stocke à la fin du code. Par contre, ils ne peuvent en aucun cas se trouver
dans une procédure.

Les commentaires en fin de ligne sont interdit avec DATA, sous peine de les voir interprétés
comme des données !


Accès au données


Pour accéder aux données, on utilise l’instruction READ, suivi du nom d’une variable (
une seule). Cette variable va prendre la valeur de la première donnée stockée dans les DATA.
Dans notre exemple, ce sera Socrate.

Vu que Socrate est une chaîne de caractères, la variable utilisée devra être du
même type, sous peine de voir le fameaux message d’erreur : ‘Types incompatibles’.

Ensuite, on peut utiliser la variable comme n’importe quel autre variable.

READ Chaine$ ‘ lecture du DATA
PRINT Chaine$ ‘ affichage de la donnée

DATA « Socrate », « Platon », « Aristote »


Maintenant, si on ré-utilise READ, l’instruction va lire la deuxième donnée, c’est à dire
Platon. Après, si on la ré-ré-utilise, se sera la troisième donnée
(Aristote), et ainsi de suite, jusqu’a plus soif.

Le plus soif se manifeste par un message d’erreur caractèristique. Pour l’obtenir (but
rarement recherché !), essayez le programme suivant :

DO
READ Chaine$ ‘ lecture du DATA
PRINT Chaine$ ‘ affichage de la donnée
LOOP

DATA « Socrate », « Platon », « Aristote »


C’est pourquoi il faut réinitialiser la liste avec l’instruction RESTORE. Utilisée
comme ça, RESTORE se contante de revenir à la première donnée du premier DATA :

DO
FOR i = 1 TO 3
READ Chaine$ ‘ lecture du DATA
PRINT Chaine$ ‘ affichage de la donnée
NEXT i
RESTORE
LOOP ‘ appuyez sur CONTROL + PAUSE

DATA « Socrate », « Platon », « Aristote »


Ou alors, on peut utiliser RESTORE suivit du numéro de l’étiquette de la ligne du DATA
choisi. Pour définir un numéro, on s’y prend à la manière des vieux BASIC, en apposant tout
simplement le numéro de la ligne devant le DATA. Ainsi :

FOR i = 1 TO 3
READ Chaine$ ‘ lecture du DATA
PRINT Chaine$ ‘ affichage de la donnée
NEXT i

RESTORE 2 ‘ on va à la ligne 2
READ Chaine$ ‘ re-lecture du DATA
PRINT Chaine$ ‘ affichage de la donnée. sortie : Platon

1 DATA « Socrate »
2 DATA « Platon »
3 DATA « Aristote »


Avec les labels, ça aurait donné :

FOR i = 1 TO 3
READ Chaine$ ‘ lecture du DATA
PRINT Chaine$ ‘ affichage de la donnée
NEXT i

RESTORE Platon ‘ on va à la ligne Platon
READ Chaine$ ‘ re-lecture du DATA
PRINT Chaine$ ‘ affichage de la donnée. sortie : Platon

Socrate: DATA « Socrate »
Platon: DATA « Platon »
Aristote: DATA « Aristote »


READ peut aussi lire plusieurs variables d’un seul et unique coup. Il suffit d’écrire
le nombre de variables (du bon type !) désirées séparées par des virgules, à la suite de READ :

READ Chaine1$, Chaine2$, Chaine3$ ‘ lecture du DATA
PRINT Chaine1$, Chaine2$, Chaine3$ ‘ affichage des données

DATA « Socrate », « Platon », « Aristote »

Series Navigation«QBasic – Les types personalisésQBasic – QBasic et le système d’exploitation»
Categories: QBasic Tags:
  1. Pas encore de commentaire
  1. Pas encore de trackbacks