|
|
|
|
|
- Autres types de tableaux
- Procédure : Déclarer un paramètre de type tableau
- Passer un tableau en paramètre à une procédure
- Fonctions du WLangage et tableaux
- Tableau de tableau, tableau associatif, file, pile, liste
- Limites : Éléments d'un tableau
- Tableaux dans les classes
- Ajouter le contenu d'une structure dans un tableau de structures sans passer par une variable de cette structure
Tableau (Type de variable) En anglais : Array
Un tableau est un type structuré qui permet de regrouper une série d'éléments de même type. Chaque élément du tableau est accessible directement par son numéro d'ordre.
TableauJour est un tableau de chaînes = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi"]
TableauJour[2]
TableauValeur est un tableau d'entiers
Ajoute(TableauValeur, 5)
Ajoute(TableauValeur, 10)
Ajoute(TableauValeur, 15)
POUR TOUT x DE TableauValeur
...
FIN
TableauValeur est un tableau <agrandissement=1> d'entiers
TableauValeur[1] = 10
TableauValeur[2] = 20
TableauValeur[3] = 30
POUR TOUT x DE TableauValeur
FIN
TableauValeur est un tableau <agrandissement=N> d'entiers
TableauValeur[1] = 10
TableauValeur[5] = 50
POUR TOUT x DE TableauValeur
FIN
Syntaxe
Déclarer un tableau à une dimension (syntaxe 1)
<Nom du tableau> est [un] tableau [<agrandissement>] [ [<Dimension 1>] ] <Type des éléments du tableau>
Exemple :
tabChaîne est un tableau <agrandissement=N> [10] chaînes
tabEntier est un tableau [5] entiers
Déclarer un tableau à une dimension (syntaxe 2) Masquer les détails
<Nom du tableau> est [un] tableau [<agrandissement>] de [<Dimension>] <Type des éléments du tableau>
<Nom du tableau> : Nom de la variable tableau à déclarer. <agrandissement> : Mode optionnel d'agrandissement du tableau :- rien (par défaut) ou "<agrandissement=0>" : le tableau n'est pas agrandi automatiquement. Si le tableau contient par exemple 5 éléments et si le programme accède à l'élément 6 ou 100, une erreur d'exécution sera levée.
- "<agrandissement>" ou "<agrandissement=1>" : le tableau est automatiquement agrandi de 1 élément. Si le tableau contient par exemple 5 éléments et si le programme accède à l'élément 6, le tableau est automatiquement agrandi pour manipuler l'élément 6 ; si le programme accède à l'élément 100, une erreur d'exécution sera levée.
- "<agrandissement=N>" : le tableau est automatiquement agrandi du nombre d'éléments nécessaires. Si le tableau contient par exemple 5 éléments et si le programme accède à l'élément 6, le tableau est automatiquement agrandi d'un élément pour manipuler l'élément 6 ; si le programme accède à l'élément 100, le tableau est automatiquement agrandi pour manipuler l'élément 100. Les éléments intermédiaires sont initialisés avec la valeur par défaut du type des éléments du tableau.
Remarque : Pour agrandir un tableau à plusieurs dimensions, utilisez la fonction Dimension. <Dimension> : Dimension optionnelle du tableau. Ce paramètre peut :- ne pas être précisé ou correspondre à * ou 0 : le tableau est initialisé vide.
- correspondre à une valeur constante ou à une variable de type entier : le tableau est initialisé avec le nombre d'éléments indiqué. Chaque élément est initialisé avec la valeur par défaut de son type.
<Type des éléments du tableau> : Type des éléments constituant le tableau. Voir Les différents types du WLangage.
Déclarer un tableau à plusieurs dimensions (10 maximum) - Syntaxe 1
<Nom du tableau> est [un] tableau de [ [<Dimension 1> [,<Dimension 2>]...[,<Dimension 10>]] ] <Type des éléments du tableau>
Exemple :
tabChaîne est un tableau [10,20] chaînes tabEntier est un tableau [3,5,2] entiers
Déclarer un tableau à plusieurs dimensions (10 maximum) - Syntaxe 2 Masquer les détails
<Nom du tableau> est [un] tableau de [<Dimension 1> [par <Dimension 2>]...[par <Dimension 10>]] <Type des éléments du tableau> OU <Nom du tableau> est [un] tableau de [<Dimension 1> [,<Dimension 2>]...[,<Dimension 10>]] <Type des éléments du tableau>
<Nom du tableau> : Nom de la variable tableau à déclarer. <Dimension 1>...<Dimension 10> : Dimension 1 à 10 du tableau. La valeur de la dimension peut correspondre à :- * ou 0 : la dimension est initialisée avec 0 élément.
- une valeur constante ou une variable de type entier : la dimension est initialisée avec le nombre d'éléments indiqué. Chaque élément est initialisé avec la valeur par défaut de son type.
<Type des éléments du tableau> : Type des éléments constituant le tableau. Voir Les différents types du WLangage.
Déclarer un paramètre de type tableau Masquer les détails
Tableau à une dimension : <Nom du paramètre> est [un] tableau de [<Dimension>] <Type des éléments du tableau>
Tableau à 2 dimensions <Nom du paramètre> est [un] tableau de <Dimension 1> par <Dimension 2> <Type des éléments du tableau>
Tableau à n dimensions <Nom du paramètre> est [un] tableau de [<Dimension 1> [ par <Dimension 2>]...[ par <Dimension n>]] <Type des éléments du tableau>
<Nom du paramètre> : Nom du paramètre de type tableau à déclarer. <Dimension n> : Le paramètre <Dimension> peut ne pas être précisé, correspondre à * , 0 ou une valeur constante. <Type des éléments du tableau> : Type des éléments constituant le tableau. Voir Les différents types du WLangage. Remarque : Les éléments constituant le tableau peuvent être également des tableaux, des tableaux fixes, des tableaux associatifs, des files, des piles ou des listes.
Faire référence à un tableau Masquer les détails
Faire référence à un élément d'un tableau à une dimension : <Nom du tableau>[Indice1] Faire référence à un élément d'un tableau à deux dimensions : <Nom du tableau>[Indice1, Indice2] OU <Nom du tableau>[Indice1][Indice2] Faire référence à un élément d'un tableau à n dimensions : <Nom du tableau>[Indice1,...,IndiceN] OU <Nom du tableau>[Indice1]...[IndiceN]
<Nom du tableau> : Nom du tableau à manipuler. <Indice1> : Indice de l'élément pour la 1ère dimension. <Indice2> : Indice de l'élément pour la 2ème dimension. <IndiceN> : Indice de l'élément pour la Nième dimension (N <= 10). Remarques Autres types de tableaux Le mot-clé Tableau permet de définir un tableau. D'autres types de tableaux "avancés" sont disponibles : Procédure : Déclarer un paramètre de type tableau Un tableau peut être passé en paramètre à une procédure. Par exemple :
PROCÉDURE AjouteClient(tabClient est un tableau de * CClient,
sNom est une chaîne,
sInfo est une chaîne)
c est CClient(sNom, sInfo)
Ajoute(tabClient, c)
Remarques : - Le type des éléments du tableau passé en paramètre doit être le même que celui de la déclaration.
- Le nombre de dimensions du tableau passé en paramètre doit être le même que celui de la déclaration.
- Le nombre d'éléments de chaque dimension du tableau passé en paramètre doit correspondre à la déclaration :
- si le nombre d'éléments pour la dimension est *, aucune vérification n'est effectuée.
- si le nombre d'éléments pour la dimension est indiqué, le nombre d'éléments doit être le même.
- Aucune vérification n'est effectuée à la compilation : les vérifications sont uniquement effectuées en exécution.
Passer un tableau en paramètre à une procédure Un tableau peut être passé en paramètre à une procédure. Pour cela, utilisez la syntaxe suivante :
<Nom de la procédure>(<Nom du tableau>) Par exemple :
TableauFourn est un tableau de 10 par 50 chaînes
AfficheTableau(TableauFourn)
Fonctions du WLangage et tableaux Plusieurs fonctions WLangage permettent de manipuler des tableaux. Il est possible d'effectuer des tris, des recherches, etc. Pour plus de détails, consultez Fonctions de gestion des tableaux. Limites : Éléments d'un tableau - Un tableau peut être constitué de classes uniquement si ces classes possèdent un constructeur sans paramètres (ou avec des paramètres facultatifs).
- Un tableau ne peut pas être constitué de variables composées.
- Un tableau ne peut pas être constitué de tableaux.
- Il n'est pas possible de créer des tableaux de classes ou de structures.
Tableaux dans les classes Lors de copies d'instances de classes, tous les membres de la classe sont recopiés dans la nouvelle instance, sauf les tableaux. Ainsi, si la valeur d'un membre de type tableau est modifiée, cette valeur est modifiée dans toutes les instances. Pour obtenir des tableaux indépendants dans toutes les instances de classes, il est nécessaire de déclarer un tableau local de la manière suivante :
ClasseSystème est une Classe
tTableauDéfaut est un tableau local de 1 entier
FIN
Ajouter le contenu d'une structure dans un tableau de structures sans passer par une variable de cette structure Si vous utilisez un tableau de structures avec peu de membres, il peut être plus simple d'ajouter directement une structure en utilisant l'opérateur [ ] (crochet). Par exemple, pour la structure suivante :
STTouche est une Structure
sTouche est une chaîne
nCodeAscii est un entier
FIN
tabTouches est un tableau de STTouche
L'ajout se fait généralement en passant par une variable du type de la structure :
stUneTouche est un STTouche
stUneTouche.sTouche = "A"
stUneTouche.nCodeAscii = Asc("A")
tabTouches.Ajoute(stUneTouche)
Avec l'opérateur [ ], vous pouvez gagner en visibilité :
tabTouches.Ajoute(["A", Asc("A")])
Liste des exemples associés :
|
Exemples unitaires (WINDEV) : Utilisation des tableaux
[ + ] Utilisations du type tableau en WLangage.
|
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|