QBasic – Les tableaux
- QBasic – Introduction au QBasic
- QBasic – Ecrire sur l’écran
- QBasic – Mathématiques élémentaires
- QBasic – La ponctuation (syntaxe)
- QBasic – Les variables
- QBasic – Les commentaires
- QBasic – Les constantes
- QBasic – Entrée de données
- QBasic – Les boucles inconditionnelles
- QBasic – Les boucles conditionnelles
- QBasic – Structure conditionnelle
- QBasic – Les cas
- QBasic – Maths, logique et divers
- QBasic – Le texte
- QBasic – Le son
- QBasic – Dessiner
- QBasic – Sous-programmes, fonctions et procedures
- QBasic – Les types de variables
- QBasic – Les tableaux
- QBasic – Les types personalisés
- QBasic – L’organisation des données
- QBasic – QBasic et le système d’exploitation
- QBasic – L’accès aux fichiers
- QBasic – Le traitement des erreurs
- QBasic – La manette de jeu
- QBasic – Encore plus loin dans le graphisme
- QBasic – La mémoire
- QBasic – Le langage machine et la souris
- QBasic – L’heure, la date, le temps
- QBasic – Le clavier
Lorsque dans un programme, les données se multiplient, au lieu de créer 40000 variables, on
peut utiliser un tableaux qui aura pour effet de nous simplifier grandement la tache.
Pour créer un tableau, on utilise la même instruction que pour déclarer une variable :
l’instruction DIM.
Imaginons que l’on veuille étudier la taille des 10 éleves d’une petite classe. Nous allons
créer un tableaux à 1 dimensions (une ligne) :
DIM Taille(9)
Remarquez que l’on a écrit 9 et pas 10. Pourquoi ? Parce qu’on part de 0 et non de 1. Si on
avait voulut partir de 1, on aurrait écrit :
DIM Taille(1 TO 10)
Ou bien, si on avait voulu faire commencer TOUT les tableaux par 1 au lieu de 0, on aurait du
écrire :
OPTION BASE 1 ‘ Tout les tableaux commence par 1 et non 0
DIM Taille(10)
Le tableau aurait virtuellement (whoa!!) cette alure :
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|
Pour stocker nos données dans ce tableau, il faut spécifer les coordonnées de la cellules dans
laquelle ont veut placer la donnée :
OPTION BASE 1 ‘ Tout les tableaux commence par 1 et non 0
DIM Taille(10)Taille(3) = 1.7 ‘ 1.7 dans la cellule 3
Taille(7) = 1.65 ‘ 1.65 dans la cellule 7
Après cet exemple, le tableau sera (toujours virtuellement) :
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|
| 1.7 | 1.65 |
Nous allons maintenant réaliser notre petite étude statistique avec ce petit programme :
OPTION BASE 1 ‘ Les tableaux partent de 1
DIM Taille(10) ‘ Création du tableau TailleFOR i = 1 TO 10
PRINT « Eleve N° »; i
INPUT « Entrez sa taille : « , Taille(i) ‘ On stocke la taille de chaque éleve
NEXT i‘ *** Calcul de la taille Moyenne ***
FOR i = 1 TO 10
Somme = Somme + Taille(i)
NEXT i
TailleMoyenne = Somme / 10‘ *** Recherche du plus grand ***
FOR i = 1 TO 10
IF Taille(i) > PlusGrand THEN PlusGrand = Taille(i)
NEXT i‘ *** Recherche du plus petit ***
PlusPetit = PlusGrand
FOR i = 1 TO 10
IF Taille(i) < PlusPetit THEN PlusPetit = Taille(i)
NEXT i' *** Affichage des résultats ***
PRINT "La taille moyenne est "; TailleMoyenne
PRINT "Le plus petit est "; PlusPetit
PRINT "Le plus grand est "; PlusGrand
Mais les tableaux ne s’arrêtent pas là. On peut par exemple spécifier une 2ème
dimension :
DIM MonTableau(5, 10)’ Tableau à 2 dimensions
Voici l’allure virtuelle de ce tableau :
| 0 | 1 | 2 | 3 | 4 | 5 | |
|---|---|---|---|---|---|---|
| 0 | ||||||
| 1 | ||||||
| 2 | ||||||
| 3 | ||||||
| 4 | ||||||
| 5 | ||||||
| 6 | ||||||
| 7 | ||||||
| 8 | ||||||
| 9 | ||||||
| 10 |
On peut d’ailleurs créer des tableaux qui sont en fait des cubes, en précisant une 3ème
dimension :
DIM MonCube(5, 10, 25) ‘ Tableau à 3 dimensions (Cube)
Ici, j’ai pas pu le représenter virtuellement (je tiens à ce mot
À ma connaissance, je crois qu’on peut déclarer jusqu’à 64 dimensions !!!!!
Mais là, il faut s’accrocher.
Type de tableaux
Comme pour une variable, un tableau peut être d’un type bien déterminé. Il faudra alors le
spécifier avec le mot-clef
AS :
DIM Bottin(1000) AS STRING ‘ Un tableau de chaines de caractères
Les tableaux dynamiques
Lorsqu’on ne sait pas bien quelle taille doit avoir un tableau, on peut créer un tableau
dynamique.
Pour cela, il faut créer un tableau avec le bon nombre de dimensions, mais avec des limites
« bidons » :
DIM Bataille(0, 0) AS INTEGER ‘ Création d’un tableau à 2 dimensions
Puis, on le redimensionnera en conséquence grâce à l’instruction REDIM :
DIM Bataille(0, 0) AS INTEGER ‘ Création d’un tableau à 2 dimensionsREDIM Bataille(10, 10) AS INTEGER ‘ Redimensionnement du tableau
Malheuresement, si on avait stocké des données dans le tableau, celle-ci seront réinitialisés
lors du redimensionnement. Il faudra alors se débrouillé avec un deuxième tableau temporaire.
LBOUND et UBOUND
Lorque l’on ne connait pas les limites d’une dimension d’un tableau, on peut utiliser les
instructions LBOUND et UBOUND.
LBOUNDpermet d’obtenir la limite inférieur d’une dimension d’un tableauUBOUNDpermet d’obtenir la limite supérieur d’une dimension d’un tableau
Pour les utiliser, il faut préciser le tableau concerné et la dimension à tester, tout en sachant
que la première dimension est 1 et non pas 0 :
DIM MonTableau(3 TO 27, 4 TO 56)FOR i = 1 TO 2
PRINT « La limite inférieur de la dimension « ; i; » est « ; LBOUND(MonTableau, i)
PRINT « La limite supérieur de la dimension « ; i; » est « ; UBOUND(MonTableau, i)
NEXT i
comment fait on pour sauvergarder un tableau dans un fichier ???
bon j’ai trouvé cette nuit il faut prendre la fonction tableau comme une variable !